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

相关文章
|
27天前
|
缓存 监控 网络协议
cpu相关指标(top、uptime、vmstat、mpstat、sar、pidstat、ps、dstat、perf、tcpdump、lscpu)等常见使用方法(三)
cpu相关指标(top、uptime、vmstat、mpstat、sar、pidstat、ps、dstat、perf、tcpdump、lscpu)等常见使用方法
|
27天前
|
监控 Unix Linux
cpu相关指标(top、uptime、vmstat、mpstat、sar、pidstat、ps、dstat、perf、tcpdump、lscpu)等常见使用方法(二)
cpu相关指标(top、uptime、vmstat、mpstat、sar、pidstat、ps、dstat、perf、tcpdump、lscpu)等常见使用方法
|
4天前
|
Linux
Linux rsyslog占用内存CPU过高解决办法
该文档描述了`rsyslog`占用内存过高的问题及其解决方案。
24 4
|
27天前
|
移动开发 运维 监控
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
掌握Linux运维利器:查看CPU和内存占用,轻松解决性能问题!
|
28天前
|
监控 Python
【python】实现cpu/内存监控的功能(非常简单)
【python】实现cpu/内存监控的功能(非常简单)
|
29天前
|
Linux
Linux 查看进程PID和线程CPU和内存占用情况
Linux 查看进程PID和线程CPU和内存占用情况
22 0
|
2月前
|
运维 监控 网络协议
JAVA 线上故障排查完整套路,从 CPU、磁盘、内存、网络、GC
JAVA 线上故障排查完整套路,从 CPU、磁盘、内存、网络、GC
62 0
|
2月前
|
JSON Java Serverless
nacos常见问题之cpu和内存占用高如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
211 0
|
27天前
|
移动开发 Linux
Linux下如何查看哪些进程占用的CPU内存资源最多
Linux下如何查看哪些进程占用的CPU内存资源最多
|
9天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。