Linux性能命令大全:轻松查看系统运行状况

1. top命令

top命令是一个非常强大的Linux性能命令,通过该命令可以实时查看系统的运行状况。在终端中输入top命令后,会显示当前运行的进程以及它们的CPU和内存使用情况。

通过top命令,可以迅速了解系统的负载情况、CPU使用率、内存使用情况等。其中,负载情况用于衡量系统能力的指标之一,它表示系统当前正在运行的进程以及等待运行的进程数目。

top命令的输出信息包含很多字段,下面是一些常用的字段:

CPU%: 显示每个进程使用CPU的百分比。

MEM%: 显示每个进程占用内存的百分比。

TIME+: 显示每个进程已经占用的CPU时间。

COMMAND: 显示每个进程的命令名称。

top - 10:59:14 up 10 days, 21:40,  1 user,  load average: 0.29, 0.31, 0.30

Tasks: 252 total, 1 running, 251 sleeping, 0 stopped, 0 zombie

%Cpu(s): 2.0 us, 1.0 sy, 0.0 ni, 97.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 16356856 total, 1265504 free, 8165200 used, 6936164 buff/cache

KiB Swap: 4194296 total, 4194296 free, 0 used. 7471264 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

1 root 20 0 225396 13552 9488 S 0.0 0.1 0:58.37 systemd

2 root 20 0 0 0 0 S 0.0 0.0 0:00.24 kthreadd

3 root 20 0 0 0 0 S 0.0 0.0 8:04.66 ksoftirqd/0

5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:+

1.1 top命令的使用方法

使用top命令非常简单,只需要在终端中输入top即可。默认情况下,top命令会按照CPU使用率进行排序,最消耗CPU的进程会显示在最上面。

在top命令的交互界面中,可以使用一些常用的快捷键来进行操作。例如:

k: 终止某个进程。

r: 重新调整进程的优先级。

1: 显示每个CPU核心的使用情况。

h: 显示帮助信息,包含更多快捷键的说明。

top命令可以帮助我们实时监控系统的运行情况,并找出消耗CPU和内存较多的进程,方便我们进行性能优化。

2. vmstat命令

vmstat命令用于显示虚拟内存统计信息,通过该命令可以查看系统的运行状态和性能指标。

vmstat命令的输出信息包括以下几个方面:

进程统计:显示系统的进程相关信息,包括运行中、等待中和睡眠中的进程数量。

内存统计:显示系统的内存使用情况,包括内存总量、空闲内存、缓冲区使用、缓存使用等。

虚拟内存统计:显示系统的虚拟内存使用情况,包括虚拟内存总量、活动的虚拟内存、非活动的虚拟内存等。

IO统计:显示系统的IO操作统计情况,包括块设备的读写情况以及软中断的数量。

CPU统计:显示系统的CPU使用情况,包括每个CPU核心的上下文切换次数、中断次数、用户态和内核态的CPU时间使用情况。

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------

r b swpd free buff cache si so bi bo in cs us sy id wa st

0 0 0 1265504 199756 23258836 0 0 0 3 532 887 2 1 97 0 0

2.1 vmstat命令的使用方法

使用vmstat命令非常简单,只需要在终端中输入vmstat即可。默认情况下,vmstat命令会以一秒为间隔进行统计并输出结果。

当然,我们可以通过指定参数来改变vmstat命令的行为。

-n: 设置vmstat命令的执行间隔,以秒为单位。

-a: 显示所有信息,包括进程统计、内存统计、虚拟内存统计、IO统计和CPU统计。

-d: 显示硬盘IO统计信息。

-s: 显示系统内存和虚拟内存的统计信息。

-w: 以宽输出模式显示结果。

vmstat命令可以帮助我们了解系统的运行状态和性能指标,对于性能优化和故障排查非常有帮助。

3. iostat命令

iostat命令用于显示CPU和IO设备的统计信息,通过该命令可以查看系统的IO性能。

iostat命令的输出信息包括以下几个方面:

CPU统计:显示每个CPU核心的用户态、内核态和空闲态时间百分比以及上下文切换次数和中断次数。

设备统计:显示每个IO设备的读写次数、读写扇区数、读写速度和平均响应时间。

时间统计:显示每个统计区间的开始和结束时间。

Linux 5.8.0-55-generic (ubuntu)     09/23/21     _x86_64_     (8 CPUs)

avg-cpu: %user %nice %system %iowait %steal %idle

3.30 0.05 1.95 0.00 0.10 94.61

Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn

sda 0.03 0.38 0.09 3667049 888000

sdb 0.00 0.00 0.00 2397 0

3.1 iostat命令的使用方法

使用iostat命令非常简单,只需要在终端中输入iostat即可。默认情况下,iostat命令会以一秒为间隔进行统计并输出结果。

我们可以通过指定参数来改变iostat命令的行为。

-c: 显示CPU统计信息。

-d: 显示设备统计信息。

-t: 显示每个统计区间的开始和结束时间。

-x: 显示扩展的设备统计信息,包括平均响应时间和设备利用率等。

iostat命令可以帮助我们查看系统的IO性能,了解系统的IO设备是否存在瓶颈,对于性能优化和故障排查非常有帮助。

4. sar命令

sar命令是一个非常强大和全面的系统性能分析工具,通过该命令可以查看系统的各项性能指标。

sar命令的输出信息包括以下几个方面:

CPU统计:包括每个CPU核心的用户态、内核态和空闲态时间百分比以及上下文切换次数和中断次数。

内存统计:包括内存的使用和各种内存缓存的数据。

IO统计:包括块设备的读写速率和IO请求队列的长度。

网络统计:包括网络接口的吞吐量、丢包数和错误数。

进程统计:包括每个进程的CPU使用率、内存使用率和IO使用率。

负载统计:包括系统的负载情况和任务队列长度。

Linux 5.8.0-55-generic (ubuntu)     09/23/21     _x86_64_     (8 CPU)

12:00:00 AM CPU %user %nice %system %iowait %steal %idle

12:10:00 AM all 6.32 0.01 2.32 0.01 0.01 91.33

12:00:00 AM tps rtps wtps bread/s bwrtn/s

12:10:00 AM 1.55 0.01 1.54 0.21 39.28

12:00:00 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util

12:10:00 AM sda 0.06 0.83 1.06 29.57 0.00 2.48 2.48 0.02

4.1 sar命令的使用方法

使用sar命令非常简单,只需要在终端中输入sar即可。默认情况下,sar命令会按照每个统计间隔时间为一行进行输出。

我们可以通过指定参数来改变sar命令的行为。

-u: 显示CPU统计信息。

-r: 显示内存统计信息。

-b: 显示IO统计信息。

-n DEV: 显示网络统计信息。

-p: 显示进程统计信息。

-q: 显示负载统计信息。

sar命令可以帮助我们全面分析系统的各项性能指标,对于性能优化和故障排查非常有帮助。

操作系统标签