Linux常用命令——w,vmstat,top,sar,nload命令
W命令:系统级,查看系统当前的负载情况
[tcnsh@localhost ~]$ w
16:47:16 up 7:48, 3 users, load average: 1.31, 1.35, 1.39 ///1.系统时间 2.系统运行时间 3.登录用户数量 4.平均负载(1~3个数值分别表示1分钟,5分钟,15分钟内的平均负载)
USER TTY LOGIN@ IDLE JCPU PCPU WHAT ///1.登录用户 2.登录终端 3.登录时间点
tcnsh pts/0 14:09 12:36 0.02s 0.02s -bash
tcnsh pts/1 09:18 4.00s 0.14s 0.00s w
tcnsh pts/3 09:29 7:17m 0.02s 0.02s -bash
PS:第一行load average的三个数值中的第一个,一般情况下该值越大说明cpu负载越大,只要不超过cpu数量就没关系。
vmstat:硬件级,监控系统状态
[tcnsh@localhost ~]$ vmstat
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 18273928 2124 1996016 0 0 49519 718 178 92 19 6 75 0 0
vmstat显示6个部分的内容
procs:显示进程相关的信息
1. r(run):表示运行或等待cpu时间片的进程数。该数值如果长期大于cpu核数就意味着cpu不够用了。
2. b(block):表示等待资源的进程数,这里的资源指的是I/O、内存等。Eg:有个数据cpu很快处理完了,但是硬盘在频繁地读写当中,该数据等待写入硬盘时,这个进程就是b的状态。该数据长时间大于1就需要找找问题了。
memory:显示内存相关的信息
1. swap:表示切换到交换分区中的内存数量,单位为KB。
2. free:表示当前空闲的空间的大小,单位为KB。
3. buff:表示(即将写入磁盘的)缓冲大小,单位为KB。
4. cache:表示(从磁盘中读取的)缓存大小,单位为KB。
swap:显示内存的交换情况
1. si:表示由交换分区写入内存的数据量,单位为KB。
2. so:表示由内存写入交换分区的数据量。
io:显示磁盘的使用情况
1. bi:表示从块设备读取数据的量(读磁盘)。
2. bo:表示从块设备写入数据的量(写磁盘)。
system:显示采集间隔内发生的中断次数
1. in:表示在某一时间间隔内观测到的每秒设备的中断次数。
2. cs:表示每秒产生的上下文切换次数。
cpu:显示cpu的使用状态
1. us:显示用户下所花费cpu的时间百分比。
2. sy:显示系统花费cpu的时间百分比。
3. id:表示cpu处于空闲状态的时间百分比。
4. wa:表示I/O 等待所占用的cpu时间百分比。
5. st:表示被偷走的cpu所占的百分比(一般为0,不用关注)
PS:vmstat 2 10 表示每两秒输出一次状态,输出10次。
top命令:进程级,显示进程所占的系统资源
top - 19:27:15 up 10:34, 3 users, load average: 6.69, 8.18, 12.32
Tasks: 324 total, 4 running, 319 sleeping, 0 stopped, 1 zombie
%Cpu(s): 5.7 us, 21.3 sy, 0.0 ni, 60.7 id, 12.4 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 32900592 total, 243088 free, 32254244 used, 403260 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 61932 avail Mem
21635 root 20 0 373492 177268 4492 R 100.0 0.5 250:58.27 python3
21273 root 20 0 0 0 0 R 81.7 0.0 61:16.32 coh1
20438 root 20 0 0 0 0 R 27.9 0.0 66:06.65 css_b2n_mgr_thr
4982 root 20 0 373492 173756 980 S 17.6 0.5 1:31.38 python3
4985 root 20 0 373492 173756 980 S 16.9 0.5 1:31.35 python3
4986 root 20 0 373492 173756 980 S 16.9 0.5 1:31.76 python3
RES是进程所占内存的大小。
%mem为使用内存大小百分比。
top -bn1可以一次性输出所有信息,但是它是静态的。
sar命令:监控系统状态
sar命令很强大,可以监控几乎所有资源的状态,比如平均负载,网卡流量,磁盘状态,内存使用等等。它可以输出历史信息,可以截取某个时间段的系统状态信息。如果没有安装该命令,可以使用“yum install -y sysstat”安装。初次运行会报错,是因为还没生成相应的数据库文件。
#sar -n DEV该命令能把当天旧的网卡信息打印出来,每隔十分钟记录一次。
#sar -q 查看历史负载