码迷,mamicode.com
首页 > 其他好文 > 详细

10.1-10.5 w查看系统负载 vmstat , top, sar, nload

时间:2018-03-19 19:38:16      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:日常运维   vmstat   top   sar   noload   

七周一次课(3月19日)
10.1 使用w查看系统负载
10.2 vmstat命令
10.3 top命令
10.4 sar命令
10.5 nload命令 



10.1 使用w查看系统负载


介绍 

技术分享图片


W命令

#W

[root@centos7 sed]# w

 14:22:44 up  4:29,  1 user,  load average: 0.00, 0.01, 0.05

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

root     pts/0    192.168.189.1    09:53    4.00s  0.59s  0.02s w


第一段内容分别是 

系统时间,登录时长,登录用户(登录用户信息在第二行),

第二段

登录用户信息,

TTY如果是网络登录,会用pts/0显示 。如果是本机登录,则会用tty1显示。


load average: 0.00, 0.01, 0.05,此项是关键,系统负载。

负载三段数值0.00, 0.01, 0.05,对应的分别是1分钟,5分钟,15分钟的负载值。

负载值的大小取决于CPU。数值表示单位时间段内使用CPU的活动的进程有多少个,是一个平均值。


查看cpu信息

[root@centos7 sed]#  cat /proc/cpuinfo 

技术分享图片


负载值最理想的值是1(processor为0的情况下).

第一段负载值是最关键的,最能体现到系统负载情况。


LOGIN@   IDLE   JCPU   PCPU WHAT

root     pts/0    192.168.189.1    09:53    4.00s  0.59s  0.02s w



10.2 vmstat命令


技术分享图片


当负载值大于逻辑CPU核数,此时表示CPU不够用了。


#vmstat 命令监控系统的状态

[root@centos7 sed]# vmstat 

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 739100   2076 140788    0    0     6     1   45   54  0  0 100  0  0


用法

#vmstat 1 动态显示进程情况,每一秒输出一次。直到按ctrl+c结束

#vmstat 1 5 动态显示进程,每一秒显示一次,只显示5次,自动结束。


vmstat只需要关注


r run 表示有多少个进程处于run状态,运行或等待CPU时间片的进程数。 假如系统有1个CPU,但是有10个进程想使用这个CPU,那么10个当中只有一个进程能使用此CPU,其他进程都需要排队,在排队的进程就是出于run状态了。所以r为2的意思是有2个进程在排队。此过程会进行循环。


b block 此进程被CPU以外的资源(硬盘、网络、内存、I/O)阻断了。b值表示有多少个进程在等待。


swapd 当物理内存使用不足的情况话,系统会把一部分空间拿出来,临时放到swap空间上去。

如果此数值不稳定,表示swap分区和内存在频繁交换数据,这种情况就是内存不够。

si 与swpd值有关联。有多少kb的数据从swap写入到内存中。i=in 进入到内存去。 


so 与swpd值有关联。有多少kb的数据从内存里出来的。o=out 从内存里出来的。 


磁盘

bi 从磁盘读取数据的量。进入到内存里去。读的数据量。


bo 从磁盘写入数据的量。写的数据量



us 显示用户下所花费CPU的时间百分比。数值一般不会超过100.长时间大于50,说明系统资源不够。

sy 显示系统花费CPU的时间百分比。

id IDLE,空闲。表示CPU处于空闲状态的时间百分比。

us+sy+id+wa=100


wa 表示I/O等待所占用CPU的时间百分比。


总结:#vmstat命令可以判断出系统的瓶颈在哪儿。CPU不够、还是内存不够,或者是磁盘不够大。



10.3 top命令


技术分享图片


#top 

技术分享图片


top - 16:39:16 up  6:46,  1 user,  load average: 0.00, 0.01, 0.05

Tasks:  86 total,   1 running,  85 sleeping,   0 stopped,   0 zombie

%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem :  1008152 total,   738396 free,   126572 used,   143184 buff/cache

KiB Swap:  2097148 total,  2097148 free,        0 used.   719984 avail Mem 


介绍tasks

total 总共

running 相当于vmstat的r

sleeping 休眠,暂时休息的意思。

stopped 已停止

zombie 僵尸进程


关注点 

us 60%以上会对CPU比较伤


物理内存使用情况

KiB Mem :  1008152 total,   738396 free,   126572 used,   143184 buff/cache 

交换分区使用情况

KiB Swap:  2097148 total,  2097148 free,        0 used.   719984 avail Mem 


用top重点查看的还是下面的进程使用系统资源的详细状况,其中需要%CPU、%MEM和COMMAND这几项所代表的意义。RES这一项为进程所占的内存大小,而%MEM这一项为使用内存的百分比.

在top状态下,按shift+m键可以按照内存使用大小排序,切换回CPU排序,按P。按数字1可以列出所有核CPU的使用状态,按q键可以退出top。

默认情况下,是按%CPU大小排序,由高到底。

%CPU CPU使用率,

%MEM 指内存,

RES物理内存大小,单位k。在计算机计算容量时 系统往往不会精准至1024,往往都是以1000来计算。


q退出,

#top -c 可以查看具体命令,全局路径,详细

技术分享图片

#top -bn1 静态显示所有页面,适用于写脚本。


#kill+pid 能杀死进程



top -bn1静态快照

按数字1显示所有CPU核心的资源使用

top -c 更加详细的command显示



10.4 sar命令


技术分享图片


sar命令很强大,它可以监控系统几乎所有资源的状态,比如平均负载、网卡流量、磁盘状态、内存使用等。与其他系统状态监控工具不同,它可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。


安装sar命令

# yum install -y  sysstat


使用#sar命令 最好加选项


查看网卡流量

#sar -n DEV 1 5 一秒钟输出一次,一共输出五次

[root@centos7 ~]# sar -n DEV 1 5

技术分享图片

举例

17时57分15秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

17时57分16秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

17时57分16秒     ens33      1.02      1.02      0.06      0.19      0.00      0.00      0.00


第一列 时间

第二列 IFACE 设备

第三列 rxpck/s,每秒进入收取的包的数量。r receive

第四列 txpck/s,每秒发送出去的包的数量。t transfor

第五 rxkB/s,每秒收取的数据量,单位kb

第六 txkB/s,每秒传送的数据量,单位kb


关注

rxpck/s 如果大于10000,需要关注了,有可能被攻击了。

rxkB/s 如果大于5000000,需要关注


指定文件查看 -f

技术分享图片

/var/log/sa/sa19这文件的定义是根据文件生成的当天时间,例如在2018年3月19日生成的,则命名会以sa19命名。

/var/log/sa/下的文件 最多保留一个月。

!!!!其实还有一个文件是sar19,sa19与sar19区别在。

sa19是二进制文件,不可以#cat等查看命令加载查看它的信息,只能用#sar相关命令去加载它的数据。

sar19是可以直接#cat的。


#sar -q用法

[root@centos7 ~]# sar -q

Linux 3.10.0-693.el7.x86_64 (centos7.4-01) 2018年03月19日 _x86_64_ (1 CPU)


17时50分01秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked

18时00分01秒         1       104      0.00      0.01      0.05         0

18时10分01秒         2       104      0.01      0.02      0.05         0

18时20分01秒         1       104      0.00      0.01      0.05         0

18时30分01秒         1       105      0.00      0.01      0.05         0

平均时间:         1       104      0.00      0.01      0.05         0


#sar -q 有助于我们查看服务器过去某个时间的负载状况。



10.5 nload命令


安装nload

1.安装之前需要安装epel-release

2.yum install -y nload



#nload

技术分享图片

技术分享图片

Device ens33 [192.168.189.128] (1/2):

网卡名称      ip地址            其中一个网卡


按右箭头可以查看其他网卡的网络流量。输出结果分为两部分,Incoming为进入网卡的流量,Outgoing为网卡出去的流量,我们关注的是Curr哪行数据,其单位也可以动态自动调整,非常人性化,按q退出。


10.1-10.5 w查看系统负载 vmstat , top, sar, nload

标签:日常运维   vmstat   top   sar   noload   

原文地址:http://blog.51cto.com/13578154/2088684

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!