Linux日常维护(w,vmstat,top,sar,nload命令)

linux日常运维管理技巧

1.使用w查看系统负载

[[email protected] ~]# w

w: 60 column window is too narrow            (这个意思是窗口太小,最大化窗口就Ok)


[[email protected] ~]# w

 13:46:43 up 2 min,  1 user,  load average: 0.12, 0.08, 0.04   

当前系统时间 启动多长时间 登陆了多少用户 系统负载(单位时间内,使用cpu活动的进程):1分钟 5分钟 15分钟


USER     TTY      FROM          [email protected]   IDLE       JCPU   PCPU WHAT

                          (登陆时间)(空闲多时间)


root     pts/0    192.168.52.1     13:44    3.00s      0.00s  0.00s w


[[email protected] ~]# cat /proc/cpuinfo                  (查看cpu信息)

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数


  • processor     逻辑处理器的id。

  • physical id    有几个cpu处理器

  • core id       每个内核的id。(有多少个内核)

  • cpu cores     一个cpu处理器中的内核数量。

  • siblings      一个cup处理器中的逻辑处理器的数量。


2.vmstat (Virtual Memory)查看虚拟内存使用的工具,使用vmstat来判定系统的瓶颈在哪里


二、虚拟内存的运行原理

在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。


三、使用说明

vmstat 1 (动态显示系统信息,1秒钟一次)

进程:

r(run)     有多少进程再跑     

b(block)   进程被cpu以外的(网络,内存)原因在等待 


内存:

swapd       交换分区,如果数字频繁的变化,说明内存和虚拟分区正在频繁的交换数据,内存不够用了

free       可用内存大小


swap分区:

si (in)     有多少kb的数据从swap进入到内存里去

so (out)    有多少kb的数据写入到swap里去


磁盘:

bi         从磁盘里读数据   

bo         向磁盘里写数据 (这个数据如果很大,表示正在频繁的读写磁盘,b会增加,因为导致会有很多进程等待磁盘)


cpu:

us         用户派的资源占用cpu多少百分比

sy         系统本身的进程或服务占用cpu百分比

id         空闲cpu的百分比

wa         有多少进程等待cpu的百分比


3.top    动态的查看进程使用资源状况


top - 14:44:33 up  1:00,  1 user,  load average: 0.00, 0.01, 0.05         (第一行和w的第一行一样)

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

   (总共多少进程,多少个在runing,多少个在休眠,多少个已经停止,多少个僵尸进程(主进程被以外禁止,留一些子进程))


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

us用户进程占百分比

sy系统进程占百分比

ni更改过优先级进程占百分比

id等待进程占百分比

被偷走的cpu百分比(虚拟化,子机))


KiB Mem :  1008392 total,   718700 free,   131380 used,   158312 buff/cache

物理内存使用情况  总共内存   多少空闲     使用多少内存   缓存的内存量


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

swap内存使用情况

total — 交换区总量(2GB)
used — 使用的交换区总量(2.5M)
free — 空闲交换区总量(2GB)
cached — 缓冲的交换区总量(4GB


PID     USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND  

PID   用户pid  

USER  用户名    

PR    进程优先级

NI    nice值,负值表示高于优先级,正值表示低于优先级

VIRT   进程使用虚拟内存总量

RES    进程使用的,未被换出的物理内存大小

SHR    共享内存大小

S     进程状态,D=不可中断的睡眠状态。R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU    CPU占用百分比

%MEM    进程使用的物理内存百分比

TIME+一  进程使用的物理内存百分比

COMMAND  进程名称(命令名/命令行)

(默认根据%CPU来排序,如果想根据%MEM内存来排序,按大写的M即可,按大写的P换回%CPU排序,数字1 列出指定CPU的使用情况,q退出)


top  -c     可以在最后一行显示COMMAND,用来查看具体的命令,全局的路径

top  -bn1   静态的把所有的进程信息显示出来,在写脚本的时候适合使用


4.sar 监控系统状态 (被称为Linux系统里的瑞士×××)

[[email protected] ~]# yum install sysstat  -y        安装sar


(每十分钟会把系统的状态过滤一遍保存在/var/log/sa里,生成以当天日期为名的saXX文件。第二天会生成一个以昨天日期为名的sarXX文件,saXX文件是二进制文件,不能用cat直接查看,但是sarXX可以


[[email protected] sa]# sar -n DEV 1 5                   (查看网卡的流量,每一秒打印一次,一共打印5次)

Linux 3.10.0-514.el7.x86_64 (abc.com) 2017年11月27日 _x86_64_(1 CPU)


15时40分36秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

15时40分37秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

15时40分37秒     ens33      2.00      2.00      0.16      0.24      0.00      0.00      0.00


  •                              时间

  • IFACE                    网卡名 

  • rxpck/s                   接收到的数据包           几千还是正常的,上万或者几十万基本确定被攻击了

  • txpck/s                  发送出去的数据包

  • rxkB/s                  接受到的数据量

  • txkB/s                   发送出去的数据量


[[email protected] sa]# sar -n DEV -f /var/log/sa/saXX      (可以查看历史数据,日期就是XX的内容,历史文件最多保存一个月)

Linux 3.10.0-514.el7.x86_64 (abc.com) 2017年11月27日 _x86_64_(1 CPU)

15时20分01秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

15时30分01秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

15时30分01秒     ens33      0.04      0.04      0.00      0.00      0.00      0.00      0.00

15时40分01秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

15时40分01秒     ens33      0.38      0.24      0.03      0.04      0.00      0.00      0.00

15时50分01秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

15时50分01秒     ens33      0.14      0.09      0.01      0.01      0.00      0.00      0.00

平均时间:        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

平均时间:     ens33      0.19      0.12      0.02      0.02      0.00      0.00      0.00


[[email protected] sa]# sar -q                       (-q查看系统负载。和w命令查看效果一样)

Linux 3.10.0-514.el7.x86_64 (abc.com) 2017年11月27日 _x86_64_(1 CPU)


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

15时30分01秒         1       104      0.00      0.01      0.05         0

15时40分01秒         1       104      0.00      0.01      0.05         0

15时50分01秒         1       103      0.00      0.01      0.05         0

平均时间:         1       104      0.00      0.01      0.05         0

runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载


[[email protected] sa]# sar -b                       (-b查看磁盘读写信息)

Linux 3.10.0-514.el7.x86_64 (abc.com) 2017年11月27日 _x86_64_(1 CPU)


15时20分01秒       tps      rtps      wtps   bread/s   bwrtn/s

15时30分01秒      0.49      0.00      0.48      0.05     22.21

15时40分01秒      0.10      0.00      0.10      0.07      1.91

15时50分01秒      0.05      0.00      0.05      0.00      0.45

平均时间:      0.21      0.00      0.21      0.04      8.19

  • tps:每秒钟物理设备的 I/O 传输总量

  • rtps:每秒钟从物理设备读入的数据总量

  • wtps:每秒钟向物理设备写入的数据总量

  • bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

  • bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

5.nload      监察网卡流量

[[email protected] sa]# yum install -y epel-release

[[email protected] sa]# yum install nload -y



[[email protected] sa]# nload                 显示网卡实时速度的页面

Linux日常维护(w,vmstat,top,sar,nload命令)

上半部分是:Incoming也就是进入网卡的流量,下半部分是:Outgoing,也就是从这块网卡出去的流量

第一行分别是 网卡名,ip       <-  ->  左右方向键分别可以切换网卡

当前值 (Curr)

平均值 (Avg)

最小值 (Min)

最大值 (Max)

总和流量(Ttl)











本文转自 小新锐 51CTO博客,原文链接:http://blog.51cto.com/13407306/2044763,如需转载请自行联系原作者