25.Linux系统管理技巧-w,vmstat,top,sar,nload命令
2018-01-27 19:07
543 查看
[toc]
第二行开始以及下面所有的行,告诉我们:当前登录的都有哪些用户,以及他们是从哪里登录的等等。其实,在这些信息当中,我们最应该关注的应该是第一行中的 ‘load average:’ 后面的三个数值。
第一个数值表示1分钟内系统的平均负载值;(最能体现当前负载的工作情况)
第二个数值表示5分钟内系统的平均负载值;
第三个数值表示15分钟系统的平均负载值。
我们着重看中第一个值,它表示单位时间段内CPU活动进程数。当然这个值越大就说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系,如果服务器cpu数量为8,那么这个值若小于8,就说明当前服务器没有压力,否则就要关注一下了。
这里的processor计数从0开始,也就是说一个显示为0,二个显示为1。
vmstat命令打印的结果共分为6部分:procs, memory, swap, io, system, cpu.。请重点关注一下r、b、si、 so、bi、bo、wa几列。
[ ] b (block):表示等待资源的进程数,这个资源指的是I/O、内存等。举个例子:当磁盘读写非常频繁时,写数据就会非常慢,此时CPU运算很快就结束了,但进程需要把计算的结果写入磁盘,这样进程的任务才算完成,那此时这个进程只能慢慢地等待,这样这个进程就是这个b状态。该数值如果长时间大于1,则需要关注一下。
[ ] free:表示当前空闲的内存数量,单位为KB。
[ ] buff:表示(即将写入磁盘的)缓冲大小,单位为KB。
[ ] cache:表示(从磁盘中读取的)缓存大小,单位为KB。
[ ] so:表示由内存写入交换区的数据量,单位为KB。
[ ] bo:表示从块设备写入数据的量(写磁盘),单位为KB。
[ ] cs:表示每秒产生的上下文切换次数。
[ ] sy:显示系统花费CPU的时间百分比。
[ ] id:表示CPU处于空闲状态的时间百分比。
us+sy+id =100%
[ ] wa:wait 表示I/O等待所占用CPU的时间百分比,wa数值很大,说明CPU不够用了
[ ] st:表示被偷走的CPU所占百分比(一般都为0,不用关注),服务器被虚拟化后会被偷走一部分CPU
以上所介绍的各个参数中,经常会关注r列,b列,和wa列,三列代表的含义在上边说得已经很清楚。IO部分的bi以及bo也是要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高。另外,当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
解析:一共119个经常,2个运行,117个处于休眠状态(未被激活),0个停止,0个zombie(僵尸进程)即主进程被意外停止了,留下了一些子进程,比较尴尬,只能自生自灭。
Top命令用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。
[ ] KiB Mem&Swap,物理内存和交换分区的使用情况,关注的是物理内存中的buff/cache
[ ] %CPU cpu的使用情况,和系统负载loadaverage没有关系,系统负载很高,而CPU%低的情况
[ ] %MEM 使用内存的百分比
[ ] RES 进展所占的内存大小,单位为Kbyte
按大写P,%CPU的使用情况,按照大小顺序排列。
按下数字1,产看每个CPU的占用情况
按数字1切换
用法如下:
这个命令把监听记录的网卡信息打印出来,每隔10分钟记录一次。以下参数是重点关注的。
剩下后面几列不需要关注。如果有一天你所管理的服务器丢包非常严重,那么你就应该看一看这个网卡流量是否异常了,如果rxpck/s 那一列的数值大于4000,或者rxbyt/s那列大于5000000则很有可能是被攻击了,正常的服务器网卡流量不会高于这么多,除非是你自己在拷贝数据。这是你需要实时查看网卡流量
sar -n DEV 1 5 //每隔1秒输出一次网卡流量状态,5次后终止
Outgoing为网卡出去的流量。
主要关注Curr那行的数据,其单位也可以动态自动调整,很人性化。
按q退出该界面。
Linux系统管理技巧
10.1 w 命令,查看当前系统的负载
用法如下[root@localhost ~]# w 15:15:19 up 2 min, 1 user, load average: 0.05, 0.08, 0.04 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.72.1 15:14 7.00s 0.08s 0.00s w
1. load average
第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载。第二行开始以及下面所有的行,告诉我们:当前登录的都有哪些用户,以及他们是从哪里登录的等等。其实,在这些信息当中,我们最应该关注的应该是第一行中的 ‘load average:’ 后面的三个数值。
第一个数值表示1分钟内系统的平均负载值;(最能体现当前负载的工作情况)
第二个数值表示5分钟内系统的平均负载值;
第三个数值表示15分钟系统的平均负载值。
我们着重看中第一个值,它表示单位时间段内CPU活动进程数。当然这个值越大就说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系,如果服务器cpu数量为8,那么这个值若小于8,就说明当前服务器没有压力,否则就要关注一下了。
2. 查看cpu核心数量, cat /proc/cpuinfo
[root@localhost ~]# cat /proc/cpuinfo
这里的processor计数从0开始,也就是说一个显示为0,二个显示为1。
3. uptime 实时查看,同W第一行
[root@localhost ~]# uptime 15:44:37 up 32 min, 1 user, load average: 0.00, 0.01, 0.05
4. 查看当前系统有几个cpu,grep -c 'processor' /proc/cpuinfo
[root@localhost ~]# grep -c 'processor' /proc/cpuinfo 2
10.2 用vmstat 命令监控系统的状态(是否瓶颈)
用法如下:vmstat命令打印的结果共分为6部分:procs, memory, swap, io, system, cpu.。请重点关注一下r、b、si、 so、bi、bo、wa几列。
#vmstat //显示当前系统状态 #vmstat 1 //每隔1秒输出一次运行状态,可以是其他任意数值,ctrl+c终止 #vmstat 1 5 //每隔1秒输出一次运行状态,输出5次后终止
1.procs显示进程的相关信息 r、b
[ ] r (run):表示运行或等待CPU时间片的进程数。说明:不要误以为等待CPU时间片意味着这个进程没有进行,实际上某一时刻一个CPU只能有一个进程,其他进程只能排着队等着,此时这些排队等待CPU资源的进程依然是运行状态。该数值如果长期大于服务器CPU的个数,则说明CPU资源不够用了。[ ] b (block):表示等待资源的进程数,这个资源指的是I/O、内存等。举个例子:当磁盘读写非常频繁时,写数据就会非常慢,此时CPU运算很快就结束了,但进程需要把计算的结果写入磁盘,这样进程的任务才算完成,那此时这个进程只能慢慢地等待,这样这个进程就是这个b状态。该数值如果长时间大于1,则需要关注一下。
2.memory显示内存的相关信息 swpd、free、buff、cache:
[ ] swpd:表示切换到交换分区中的内存数量,单位为KB。[ ] free:表示当前空闲的内存数量,单位为KB。
[ ] buff:表示(即将写入磁盘的)缓冲大小,单位为KB。
[ ] cache:表示(从磁盘中读取的)缓存大小,单位为KB。
3.swap显示内存的交换情况 si、so
[ ] si:表示由交换区写入内存的数据量,单位为KB。[ ] so:表示由内存写入交换区的数据量,单位为KB。
4.io显示磁盘的使用情况 bi、bo
[ ] bi:表示从块设备读取数据的量(读磁盘),单位为KB。[ ] bo:表示从块设备写入数据的量(写磁盘),单位为KB。
5.system显示采集间隔内发生的中断次数 in、cs
[ ] in:表示在某一时间间隔内观测到的每秒设备的中断次数。[ ] cs:表示每秒产生的上下文切换次数。
6.cpu显示CPU的使用状态 us、sy、id、wa、st
[ ] us:显示用户下花费CPU的时间百分比。[ ] sy:显示系统花费CPU的时间百分比。
[ ] id:表示CPU处于空闲状态的时间百分比。
us+sy+id =100%
[ ] wa:wait 表示I/O等待所占用CPU的时间百分比,wa数值很大,说明CPU不够用了
[ ] st:表示被偷走的CPU所占百分比(一般都为0,不用关注),服务器被虚拟化后会被偷走一部分CPU
以上所介绍的各个参数中,经常会关注r列,b列,和wa列,三列代表的含义在上边说得已经很清楚。IO部分的bi以及bo也是要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高。另外,当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
10.3 top命令显示进程所占系统资源
用法如下:解析:一共119个经常,2个运行,117个处于休眠状态(未被激活),0个停止,0个zombie(僵尸进程)即主进程被意外停止了,留下了一些子进程,比较尴尬,只能自生自灭。
Top命令用于动态监控进程所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(CPU,内存,磁盘IO等)最高的进程放到最前面。
1. top命令打印出了很多信息,loadaverage、tasks、%CPU、%MEM、RES
包括系统负载(loadaverage)、进程数(Tasks)、cpu使用情况、内存使用情况以及交换分区使用情况。[ ] KiB Mem&Swap,物理内存和交换分区的使用情况,关注的是物理内存中的buff/cache
[ ] %CPU cpu的使用情况,和系统负载loadaverage没有关系,系统负载很高,而CPU%低的情况
[ ] %MEM 使用内存的百分比
[ ] RES 进展所占的内存大小,单位为Kbyte
2. 输入top指令后,M键查看内存,P键查看CPU%,数字1查看各个CPU
按大写的M查看%MEN,并以大到小排序;按大写P,%CPU的使用情况,按照大小顺序排列。
按下数字1,产看每个CPU的占用情况
按数字1切换
3. top -c 查看详细的进程信息,以及经常对于的命令(路径)
4. top -bn1 静态显示所有进程,表示了非动态打印系统资源的使用情况,在shell脚本中常用。
5. 同时需要关注的是PID,可以用kill命令+PID 杀死该进程.
10.4 sar命令监控系统状态
sar 命令很强大,它可以监控系统所有资源状态,比如平均负载、网卡流量、磁盘状态、内存使用等等。它不同于其他系统状态监控工具的地方在于,它可以打印历史信息,可以显示当天从零点开始到当前时刻的系统状态信息。如果你系统没有安装这个命令,请使用 yum install -y sysstat命令安装。1. yum install -y systat 安装,不能直接执行sar
初次使用sar命令会报错,那是因为sar工具还没有生成相应的数据库文件(时时监控就不会了,因为不用去查询那个库文件)。它的数据库文件在 “/var/log/sa/” 目录下,每10分钟抓一次,生成文件保存在该目录下。2. 查看网卡流量 sar -n DEV,IFACE/rxpack/txpck/rxkB/txkB
sar -n DEV 1 10 //每个1秒显示一次,一共显示10次
用法如下:
这个命令把监听记录的网卡信息打印出来,每隔10分钟记录一次。以下参数是重点关注的。
IFACE:表示网卡设备名称. rxpck/s:表示每秒进入收取的包的数量有多少,几千是正常的,如果上万说明被攻击了 txpck/s:表示每秒发送出云的包的数量有多少。 rxkB/s:表示每秒收取的数据量(单位为KB)。 txkB/S:表示每秒发送的数据量
剩下后面几列不需要关注。如果有一天你所管理的服务器丢包非常严重,那么你就应该看一看这个网卡流量是否异常了,如果rxpck/s 那一列的数值大于4000,或者rxbyt/s那列大于5000000则很有可能是被攻击了,正常的服务器网卡流量不会高于这么多,除非是你自己在拷贝数据。这是你需要实时查看网卡流量
sar -n DEV 1 5 //每隔1秒输出一次网卡流量状态,5次后终止
3.使用sar -n DEV -f 选项查看某一天的网卡流量历史,后面跟文件名.
但是/var/log/sa/saXX 只能保存一个月#sar -n DEV -f /var/log/sa/sa27
4. 查看历史负载 sar -q 这个命令有助于我们查看服务器在过去某个时间的负载状况.
5. sar -b 查看磁盘负载,读写情况。
sar -b 1 5 //每隔1秒输出一次磁盘负载状态,5次后终止
10.5 用nload命令查看网卡流量
sar虽然可以查看网卡流量,但是不够直观,还有一个更好用的工具,那就是nload。1. 安装nload:
[root@localhost ~]# yum install -y nload
2. 用↑,↓键切换不同网卡的流量监控情况
ncoming为进入网卡的流量。Outgoing为网卡出去的流量。
主要关注Curr那行的数据,其单位也可以动态自动调整,很人性化。
按q退出该界面。
3. 在/var/log/sa/目录下的saXX和sarXX,XX为日期,saXX是二进制文件,只能用sar -f命令查看,而sar文件是需要一天才能生成的,可以用cat命令查看
相关文章推荐
- Linux日常运维管理技巧: w命令-查看系统负载、vmstat命令、top命令、sar命令
- Linux日常运维管理技巧: w命令-查看系统负载、vmstat命令、top命令、sar命令
- 使用w查看系统负载, vmstat命令, top命令, sar命令, nload命令
- 使用w查看系统负载,vmstat命令,top命令,sar命令。nload命令
- Linux日常运维管理技巧-w命令、vmstat 命令、top 命令、sar 命令、nload命令
- 10.1 使用w查看系统负载 vmstat命令 top命令 sar命令nload
- 10.1 使用w查看系统负载 10.2 vmstat命令 10.3 top命令 10.4 sar命令 10.5 nload命令
- Linux系统日常管理1 w,vmstat,top,sar,free,ps监控命令
- LINUX系统学习笔记使用w查看系统负载 ,vmstat命令,top命令, sar命令, nload命令
- 0.1 使用w查看系统负载 - 10.2 vmstat命令 - 10.3 top命令 - 10.4 sar命令 - 10.5 nload命令
- 使用w查看系统负载 vmstat命令 top命令 sar命令 nload命令
- 11.27 使用w查看系统负载 vmstat top sar nload 命令
- linux学习第二十七篇:使用w查看系统负载,vmstat,top,sar,nload命令
- 69.liunx日常管理:w,top,vmstat,sar,nload命令
- 使用w查看系统负载 vmstat命令 top命令 sar命令 nload命令
- centos Linux系统日常管理1 cpuinfo cpu核数 命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ,lsof 第十四节课
- 七周一次课(11月27日) 10.1 使用w查看系统负载 10.2 vmstat命令 10.3 top命令 10.4 sar命令 10.5 nload命令
- Linux日常维护(w,vmstat,top,sar,nload命令)
- 日常运维(一):w命令 vmstat命令 top命令 sar命令 nload命令
- 命令 w 、vmstat、top、sar、nload