Linux性能检测常用命令

1.查看计算机的整理负载情况 load average后的数字分别表示计算机在1min 、5min、15min内的平均负载

root@hadoop1010 ~]# uptime 
 11:03:58 up 12:05,  3 users,  load average: 0.10, 0.08, 0.14

2.实时打印进程,内存,交换分区,IO和CPU等统计信息(vmstat 1)

需要检查的有r ,free,si , so us ,sy ,id , wa等信息

[root@hadoop1010 ~]#  vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 844140      0 710076    0    0  3536    25  196  221  2  2 96  0  0
 0  0      0 844140      0 710076    0    0     0     0  588  982  1  0 99  0  0
 1  0      0 844100      0 710108    0    0     0     0  527  949  0  1 99  0  0
 0  0      0 844100      0 710108    0    0     0     0  538  938  0  0 100  0  0

r:表示正在运行或者等待CPU调度的进程数。因为该列数据不包含I/O的统计信息,因此可以用来检测CPU是否饱和。若r列中的数字大于CPU的核数,表示CPU已经处于饱和状态。

free:当前剩余的内存

si,so 交换分区换入和换出的个数,若换入换出个数大于0,表示内存不足

us, sy, id, wa:CPU的统计信息,分别表示user time、system time(kernel)、idle、wait I/O。I/O处理所用的时间包含在system time中,因此若system time超过20%,则I/O可能存在瓶颈或异常;

3.每秒打印一次每个CPU的统计信息,可用于查看CPU的调度是否均匀(mpstat -P ALL 1)

[root@hadoop1010 ~]# mpstat -P ALL 1
Linux 4.19.12-1.el7.elrepo.x86_64 (hadoop1010) 	05/10/2023 	_x86_64_	(4 CPU)

11:07:06 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:07:07 AM  all    0.25    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   99.75
11:07:07 AM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
11:07:07 AM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
11:07:07 AM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
11:07:07 AM    3    0.00    0.00    1.01    0.00    0.00    0.00    0.00    0.00    0.00   98.99

11:07:07 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:07:08 AM  all    0.51    0.00    0.25    0.00    0.00    0.00    0.00    0.00    0.00   99.24
11:07:08 AM    0    1.01    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   98.99
11:07:08 AM    1    1.01    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00   98.99
11:07:08 AM    2    1.01    0.00    1.01    0.00    0.00    0.00    0.00    0.00    0.00   97.98
11:07:08 AM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

4.打印各个进程对CPU的占用情况,类似top命令中显示的内容。pidstat的优势在于,可以滚动的打印进程运行情况,而不像top那样会清屏。

root@hadoop1010 ~]# pidstat 1
Linux 4.19.12-1.el7.elrepo.x86_64 (hadoop1010) 	05/10/2023 	_x86_64_	(4 CPU)

11:07:54 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
11:07:55 AM  1002     27198    0.99    0.00    0.00    0.99     1  java
11:07:55 AM  1001     29209    0.99    0.00    0.00    0.99     2  java
11:07:55 AM  1001     29631    0.00    0.99    0.00    0.99     2  java
11:07:55 AM     0     33476    0.00    0.99    0.00    0.99     3  pidstat

11:07:55 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
11:07:56 AM  1002     27198    1.00    1.00    0.00    2.00     1  java
11:07:56 AM  1002     27320    1.00    0.00    0.00    1.00     1  java
11:07:56 AM  1001     29084    0.00    1.00    0.00    1.00     1  java

11:07:56 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
11:07:57 AM  1000     21376    1.00    0.00    0.00    1.00     0  java
11:07:57 AM     0     26196    0.00    1.00    0.00    1.00     3  kworker/3:1-events
11:07:57 AM  1002     27198    1.00    0.00    0.00    1.00     1  java
11:07:57 AM  1002     27320    0.00    1.00    0.00    1.00     1  java
11:07:57 AM  1001     29084    1.00    0.00    0.00    1.00     1  java
11:07:57 AM  1001     29631    1.00    0.00    0.00    1.00     2  java
11:07:57 AM     0     33476    0.00    1.00    0.00    1.00     3  pidstat


6.类似vmstat,第一次输出的是从系统开机到统计这段时间的采样数据;

[root@hadoop1010 ~]# iostat -xz 1
Linux 4.19.12-1.el7.elrepo.x86_64 (hadoop1010) 	05/10/2023 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.87    0.00    1.75    0.01    0.00   96.37

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.48     0.23   91.71    3.33 13805.17    96.32   292.53     0.17    1.90    1.89    2.38   0.16   1.55
scd0              0.00     0.00    0.00    0.00     0.02     0.00   114.22     0.00    0.67    0.67    0.00   0.50   0.00
dm-0              0.00     0.00   92.94    3.56 13804.91    96.27   288.09     0.18    1.91    1.89    2.32   0.16   1.55
dm-1              0.00     0.00    0.00    0.00     0.05     0.00    45.57     0.00    0.14    0.14    0.00   0.13   0.00


Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     1.00    0.00   16.00     0.00   120.00    15.00     0.01    1.38    0.00    1.38   0.06   0.10
dm-0              0.00     0.00    0.00   17.00     0.00   120.00    14.12     0.02    0.94    0.00    0.94   0.06   0.10

r/s, w/s, rkB/s, wkB/s,表示每秒向I/O设备发出的reads、writes、read Kbytes、write Kbytes的数量。
await,表示应用程序排队等待和被服务的平均I/O时间,该值若大于预期的时间,这表示I/O设备处于饱和状态或者异常。
avgqu-sz,表示请求被发送给I/O设备的平均时间,若该值大于1,则表示I/O设备可能已经饱和;
%util,每秒设备的利用率;若该利用率超过60%,则表示设备出现性能异常;

7.free -m

buffers: For the buffer cache, used for block device I/O.
cached: For the page cache, used by file systems.

若buffers和cached接近0,说明I/O的使用率过高,系统存在性能问题。
Linux中会用free内存作为cache,若应用程序需要分配内存,系统能够快速的将cache占用的内存回收,因此free的内存包含cache占用的部分。

8.sar -n DEV 1 sar是System Activity Reporter的缩写,系统活动状态报告。

-n { keyword [,…] | ALL },用于报告网络统计数据。keyword可以是以下的一个或者多个:DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 和UDP6。

-n DEV 1, 每秒统计一次网络的使用情况;
-n EDEV 1,每秒统计一次错误的网络信息;

9.sar -n TCP,ETCP 1 该命令可以用于粗略的判断网络的吞吐量,如发起的网络连接数量和接收的网络连接数量;

TCP, 报告关于TCPv4网络流量的统计信息;
ETCP, 报告有关TCPv4网络错误的统计信息;
active/s: Number of locally-initiated TCP connections per second (e.g., via connect()),发起的网络连接数量;
passive/s: Number of remotely-initiated TCP connections per second (e.g., via accept()),接收的网络连接数量;
retrans/s: Number of TCP retransmits per second,重传的数量;
查看系统资源常用命令

你可能感兴趣的:(linux,服务器)