cpu相关指标(top、uptime、vmstat、mpstat、sar、pidstat、ps、dstat、perf、tcpdump、lscpu)等常见使用方法(一)

简介: cpu相关指标(top、uptime、vmstat、mpstat、sar、pidstat、ps、dstat、perf、tcpdump、lscpu)等常见使用方法

本文主要探讨了一系列用于监控和分析系统 CPU 性能的工具,包括 topuptimevmstatmpstatsarpidstatpsdstatperftcpdumplscpu。这些工具在系统管理和性能优化中起着关键的作用。通过实时监测进程、系统负载、虚拟内存、CPU 使用情况以及网络数据包,管理员可以全面了解系统资源的分布和使用情况,迅速发现和解决性能瓶颈,提高系统的运行效率和稳定性。文章将深入介绍每个工具的使用方法和功能,以帮助读者更好地理解和利用这些工具进行系统性能分析和优化。

平均负载(uptime、top)

top 命令是一个实时的系统资源监视器,用于查看系统中正在运行的进程的信息。以下是 top 命令的详细使用方法:

1. 基本格式:

top

2. 常用选项:

  • -c 显示完整的命令行。
  • -d 指定刷新时间,单位为秒。
  • -u 指定要显示的用户。
  • -p 指定要监视的进程。
  • -h 显示帮助信息。
  • q 退出 top

3. top 窗口主要区域:

  • 第一行: 系统概览,包括系统时间、运行时间、登录用户数、负载平均值等等。
  • 第二行: 进程总数、运行中的进程数、睡眠中的进程数、停止的进程数等。
  • 第三行: CPU 使用情况,包括用户空间、系统空间、空闲等百分比。
  • 第四行: 内存使用情况,包括总内存、已使用、空闲、缓冲区等。
  • 进程列表: 列出了当前运行的进程,包括进程 ID、用户、CPU 使用率、内存使用率、进程状态、启动时间等。

4. 操作:

  • k 结束一个进程,输入进程的 PID,按 Enter。
  • r 重新调整进程的优先级,输入进程的 PID,按 Enter,然后输入新的优先级值。
  • Space 切换排序方式,可以按照 CPU 使用率、内存使用率等排序。

5. 示例:

  1. 基本使用:
top
  1. 指定刷新时间为2秒:
top -d 2
  1. 显示完整的命令行:
top -c
  1. 指定要显示的用户:
top -u username
  1. 指定要监视的进程:
top -p pid

6. 注意事项:

  • top 默认按 CPU 使用率降序排序进程。按 Shift + M 键可以切换到按内存使用率排序。
  • top 是一个实时监控工具,通过不断更新显示当前系统状态。
  • 可以通过 man top 查看 top 的手册页,了解更多选项和用法。

top 提供了丰富的信息,可以通过键盘快捷键进行交互,方便用户实时监视系统状态。

uptime 命令用于显示系统的当前运行时间、平均负载以及当前登录用户数。以下是 uptime 命令的详细使用方法:

  1. 基本用法:
uptime
  1. 这将显示系统的当前运行时间、平均负载以及当前登录用户数。
  2. 显示详细信息:
uptime -p
  1. 这将显示更详细的系统运行时间,包括天数、小时、分钟。
  2. 定时刷新显示:
watch uptime
  1. 这将周期性地刷新并显示 uptime 的输出,以实时监视系统的运行状况。
  2. 显示系统启动时间:
uptime -s
  1. 这将显示系统的启动时间,即系统何时启动的。
  2. 显示平均负载:
uptime | cut -d "," -f 3-4
  1. 这将只显示平均负载的部分,通常用于脚本或监控。
  2. 指定时间格式:
uptime -f
  1. 这将以特定格式显示系统启动的时间。
  2. 以可读的方式显示平均负载:
uptime -r
  1. 这将以可读的方式显示平均负载,例如 “2 days”。
  2. 显示每个核心的平均负载:
uptime -q
  1. 这将显示每个核心的平均负载,适用于多核系统。
  2. 指定显示时间间隔:
uptime -i 5
  1. 这将每隔 5 秒显示一次系统的运行时间、平均负载和当前登录用户数。
  2. 显示帮助信息:
uptime --help

这将显示 uptime 命令的帮助信息,列出可用的选项。

请注意,uptime 命令通常是系统监控和性能分析的起点之一,它提供了一个简单而有用的方式来查看系统的整体状况。

系统整体cpu使用率(vmstat、mpstat、top、sar、/proc/stat)

vmstat 命令用于报告虚拟内存统计信息,包括进程、内存、交换、IO 等。以下是 vmstat 命令的详细使用方法:

  1. 基本用法:
vmstat
  1. 这将显示一组默认的虚拟内存统计信息,包括进程、内存、交换、IO 等。
  2. 指定刷新时间和次数:
vmstat [delay] [count]
  • delay 是刷新时间间隔,单位是秒。
  • count 是刷新次数。如果不指定 countvmstat 将一直运行。
  1. 例如,vmstat 2 5 将每两秒刷新一次,共刷新五次。
  2. 显示详细信息:
vmstat -a
  1. 这将显示更详细的系统活动统计信息,包括内存、交换、IO 等。
  2. 显示活动与非活动内存统计:
vmstat -a -S m
  1. 这将以 MB 为单位显示内存统计信息。
  2. 仅显示指定内容:
vmstat -s
  1. 这将只显示汇总的内存、交换、中断等信息,而不显示进程和IO的详细信息。
  2. 显示磁盘IO统计信息:
vmstat -d
  1. 这将显示磁盘的读写统计信息。
  2. 显示系统中断和上下文切换:
vmstat -i
  1. 这将显示中断和上下文切换的统计信息。
  2. 显示 CPU 利用率详细信息:
vmstat -P ALL
  1. 这将显示每个 CPU 的利用率详细信息。
  2. 显示内存和交换空间使用情况:
vmstat -SM
  1. 这将以 MB 为单位显示内存和交换空间的使用情况。
  2. 显示进程的统计信息:
vmstat -p [disk]
  1. 这将显示进程的统计信息,包括在等待磁盘的进程。
  2. 显示内存的 slab 统计信息:
vmstat -m
  1. 这将显示内核 slab 的统计信息。
  2. 显示版本信息:
vmstat -V
  1. 这将显示 vmstat 的版本信息。
  2. 显示帮助信息:
vmstat --help
  1. 这将显示 vmstat 命令的帮助信息,列出可用的选项。

vmstat 命令对于监视系统整体性能、识别性能瓶颈非常有用。通过不同的选项,你可以选择显示不同类型的统计信息。

sar(System Activity Reporter)是一个用于报告系统活动统计信息的工具。它可以显示系统的各种性能参数,如CPU使用率、内存使用率、磁盘I/O、网络活动等。以下是 sar 命令的一些详细使用方法:

  1. 基本用法:
sar
  1. 运行 sar 命令将显示当前日期的系统活动报告。
  2. 指定时间间隔和次数:
sar [interval] [count]
  • interval 是报告之间的时间间隔(以秒为单位)。
  • count 是报告的次数。
  1. 例如,sar 5 3 将每5秒生成一次报告,共生成3次。
  2. 显示CPU利用率:
sar -u
  1. 这将显示CPU的使用率,包括用户、系统和空闲时间。
  2. 显示内存使用情况:
sar -r
  1. 这将显示内存的使用情况,包括空闲、缓存和已使用的内存。
  2. 显示磁盘I/O统计信息:
sar -b
  1. 这将显示磁盘I/O的统计信息,包括每秒的读写次数、读写块数等。
  2. 显示队列和负载信息:
sar -q
  1. 这将显示系统队列的统计信息,包括进程队列长度和平均负载。
  2. 显示网络统计信息:
sar -n DEV
  1. 这将显示网络接口的统计信息,包括接收和发送的数据包数量、错误等。
  2. 显示系统调用和交换空间统计:
sar -S
  1. 这将显示系统调用和交换空间的统计信息。
  2. 显示文件系统统计信息:
sar -f /var/log/sa/sa<DD>
  1. 替换  为某一天的日期(如01,02),这将显示指定日期的文件系统统计信息。
  2. 显示进程创建和删除的统计信息:
sar -c
  1. 这将显示进程的创建和删除的统计信息。
  2. 显示交换分区的统计信息:
sar -W
  1. 这将显示交换分区的统计信息。
  2. 以ASCII图形显示实时负载信息:
sar -q -n DEV -u -o | sadf -g
  1. 这将以ASCII图形形式显示CPU使用率、队列长度和网络活动的实时图形。
  2. 显示版本信息:
sar -V
  1. 这将显示 sar 命令的版本信息。
  2. 显示帮助信息:
sar --help
  1. 这将显示 sar 命令的帮助信息,列出可用的选项。

sar 命令提供了丰富的系统活动报告,可以根据具体需求选择不同的选项进行监控。

mpstat(Multiple Processor Statistics)是一个用于显示多处理器系统中各个处理器的使用情况的工具。以下是 mpstat 命令的详细使用方法:

  1. 基本用法:
mpstat
  1. 运行 mpstat 命令将显示所有可用处理器的平均统计信息。
  2. 指定时间间隔和次数:
mpstat [interval] [count]
  • interval 是报告之间的时间间隔(以秒为单位)。
  • count 是报告的次数。
  1. 例如,mpstat 5 3 将每5秒生成一次报告,共生成3次。
  2. 显示指定处理器的统计信息:
mpstat -P ALL
  1. 这将显示所有处理器的详细统计信息,包括每个处理器的使用率、空闲率等。
  2. 显示指定处理器的统计信息(指定处理器编号):
mpstat -P <processor_number>
  1. 替换 为特定处理器的编号。例如,mpstat -P 0 将显示处理器 0 的统计信息。
  2. 以JSON格式输出统计信息:
mpstat -o JSON
  1. 这将以JSON格式输出处理器的统计信息。
  2. 显示CPU的软中断和硬中断信息:
mpstat -I SUM
  1. 这将显示CPU的软中断和硬中断的总体信息。
  2. 显示详细的I/O统计信息:
mpstat -d
  1. 这将显示磁盘I/O的详细统计信息,包括读写速率、IOPS等。
  2. 显示内存统计信息:
mpstat -s
  1. 这将显示内存的统计信息,包括页面交换、缺页错误等。
  2. 显示任务上下文切换和中断统计信息:
mpstat -w
  1. 这将显示任务上下文切换和中断的统计信息。
  2. 显示虚拟内存和文件交换统计信息:
mpstat -W
  1. 这将显示虚拟内存和文件交换的统计信息。
  2. 显示指定进程的统计信息:
mpstat -p <process_id>
  1. 替换 为特定进程的标识符(PID)。这将显示指定进程的统计信息。
  2. 显示版本信息:
mpstat -V
  1. 这将显示 mpstat 命令的版本信息。
  2. 显示帮助信息:
mpstat --help
  1. 这将显示 mpstat 命令的帮助信息,列出可用的选项。

mpstat 命令是一个强大的工具,通过不同的选项可以获取系统各个方面的性能统计信息,有助于分析系统的负载和性能。


cpu相关指标(top、uptime、vmstat、mpstat、sar、pidstat、ps、dstat、perf、tcpdump、lscpu)等常见使用方法)二 https://developer.aliyun.com/article/1474368

相关文章
|
3月前
|
监控 Linux
性能分析之 Linux 系统中 ps&top 中 CPU 百分比不一致?
【8月更文挑战第18天】性能分析之 Linux 系统中 ps&top 中 CPU 百分比不一致?
162 4
|
3月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Redis的指标显示CPU为70%,而Service Load却达到了100%。这两个指标意义的解释及如何缓解呢?
【Azure Redis 缓存】Redis的指标显示CPU为70%,而Service Load却达到了100%。这两个指标意义的解释及如何缓解呢?
|
4月前
|
监控 Unix Linux
ps aux 命令使用查看内存、cpu使用排名与top的区别
ps aux 命令使用查看内存、cpu使用排名与top的区别
675 1
|
4月前
|
监控
主机状态监控,通过top命令查看CPU、内存使用情况,ctrl + c退出,输入top整个页面就变成一个任务管理器的形式了,Ctrl + C直接退出,Q也可以退掉了
主机状态监控,通过top命令查看CPU、内存使用情况,ctrl + c退出,输入top整个页面就变成一个任务管理器的形式了,Ctrl + C直接退出,Q也可以退掉了
|
6月前
|
缓存 Linux
linux性能分析之内存分析(free,vmstat,top,ps,pmap等工具使用介绍)
这些工具可以帮助你监视系统的内存使用情况、识别内存泄漏、找到高内存消耗的进程等。根据具体的问题和需求,你可以选择使用其中一个或多个工具来进行内存性能分析。注意,内存分析通常需要综合考虑多个指标和工具的输出,以便更好地理解系统的行为并采取相应的优化措施。
179 6
|
6月前
|
存储 缓存 监控
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)
深入解析linux内存指标:快速定位系统内存问题的有效技巧与实用方法(free、top、ps、vmstat、cachestat、cachetop、sar、swap、动态内存、cgroops、oom)
1248 0
|
6月前
|
缓存 监控 网络协议
cpu相关指标(top、uptime、vmstat、mpstat、sar、pidstat、ps、dstat、perf、tcpdump、lscpu)等常见使用方法(三)
cpu相关指标(top、uptime、vmstat、mpstat、sar、pidstat、ps、dstat、perf、tcpdump、lscpu)等常见使用方法
154 0
|
10天前
|
弹性计算 Kubernetes Perl
k8s 设置pod 的cpu 和内存
在 Kubernetes (k8s) 中,设置 Pod 的 CPU 和内存资源限制和请求是非常重要的,因为这有助于确保集群资源的合理分配和有效利用。你可以通过定义 Pod 的 `resources` 字段来设置这些限制。 以下是一个示例 YAML 文件,展示了如何为一个 Pod 设置 CPU 和内存资源请求(requests)和限制(limits): ```yaml apiVersion: v1 kind: Pod metadata: name: example-pod spec: containers: - name: example-container image:
|
19天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
192 2
|
2月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
130 5