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,重传的数量;
查看系统资源常用命令