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命令:进程级,显示进程所占的系统资源

[tcnsh@localhost ~]$ 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
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
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
top命令的执行结果是动态输出的,其特点是把占用系统资源最高的进程放到前面。

RES是进程所占内存的大小。

%mem为使用内存大小百分比。

top -bn1可以一次性输出所有信息,但是它是静态的。

sar命令:监控系统状态

sar命令很强大,可以监控几乎所有资源的状态,比如平均负载,网卡流量,磁盘状态,内存使用等等。它可以输出历史信息,可以截取某个时间段的系统状态信息。如果没有安装该命令,可以使用“yum install -y sysstat”安装。初次运行会报错,是因为还没生成相应的数据库文件。

#sar -n  DEV该命令能把当天旧的网卡信息打印出来,每隔十分钟记录一次。

#sar -q 查看历史负载

nload命令:查看网卡流量

使用“yum install -y epel-release; yum install -y nload”  nload这个包在扩展源里,需要先安装扩展源。执行这个命令可以很直观的查看当前网卡的流量情况。
posted @ 2019-09-03 19:31  Qinsoo  阅读(360)  评论(0编辑  收藏  举报