10.1 使用w查看系统负载

 

w

[root@hyc-01-01 ~]# w

15:16:44 up 14:31,  2 users,  load average: 0.07, 0.05, 0.05

当前系统时间(15:16:44),已经运行了14:31,登录了2个用户,系统负载信息(单位时间内占用cpu的活动进程数,分别显示1分钟、5分钟和15分钟的信息;通常系统负载数值应不大于逻辑cpu总数,如有8颗逻辑cpu时负载值最好不大于8.00

USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

root     tty1                      20    5days  0.02s  0.02s -bash

root     pts/0    192.168.31.1     15:11    4.00s  0.04s  0.03s w

登录的用户(root),登录的终端(pts/0),登录地址192.168.31.1,用户登录系统的时间,IDLE空闲时长

[root@hyc-01-01 ~]# uptime 显示w命令第一行信息

16:02:04 up 15:16,  2 users,  load average: 0.00, 0.01, 0.05

[root@hyc-01-01 ~]# date 系统时间信息

2018 07 11 星期三 15:54:11 CST

[root@hyc-01-01 ~]# cat /proc/cpuinfo

processor        : 0 系统当前逻辑cpu总数,0代表有1个,1代表有2

vendor_id        : GenuineIntel

cpu family        : 6

model               : 78

model name    : Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz

stepping  : 3

microcode       : 0x9e

cpu MHz           : 2400.000

 

10.2 vmstat命令

 

vmstat

[root@hyc-01-01 ~]# vmstat 可以用于查看cpuprocs)、内存(memory)、交换分区(swap)、磁盘(io)、系统进程(system)等信息

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 704388   2076 179864    0    0     3     1   45   43  0  0 100  0  0

[root@hyc-01-01 ~]# vmstat 1 1秒显示一次相关信息

[root@hyc-01-01 ~]# vmstat 1 5 1秒显示一次,显示5次自动结束

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 703968   2076 179896    0    0     3     1   45   43  0  0 100  0  0

 0  0      0 703844   2076 179896    0    0     0     0   49   49  0  0 100  0  0

 0  0      0 703844   2076 179896    0    0     0     2   39   43  0  0 100  0  0

 0  0      0 703844   2076 179896    0    0     0     0   41   37  0  1 99  0  0

 0  0      0 703844   2076 179896    0    0     0     0   34   34  0  0 100

rrun:处于run状态的进程数,这里包括正在使用cpu的进程和排队等待使用cpu的进程

bblock):进程由于cpu以外的原因(硬盘、网络等)处于等待卡死状态

swpd:该数值保持为0不变,则未发生内存和交换空间交换数据的行为,若该数值持续变化,则说明内存与交换分区在频繁交换数据,说明内存已经不够用

si:有多少KB数据从swap进入内存

so:有多少KB数据从内存被放入swap

bi:有多少KB数据从磁盘被读入内存

bo:有多少KB数据从内存被写入磁盘

io相对内存和cpu速度很慢,如果bibo数值较大可能会导致处于block的进程数变多(等待磁盘),因为此时可能有很多进程等待读写数据

us:用户级别的进程、服务占用cpu的百分比,该值长期大于50,则说明系统资源不足

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

id:处于空闲的cpu资源

us+id+sy=100%

wa:等待cpu的进程百分比,该值较大则说明cpu不够用

 

10.3 top命令

 

top 可以查看每个进程的具体信息

[root@hyc-01-01 ~]# top

top - 17:17:24 up 16:31,  2 users,  load average: 0.00, 0.01, 0.05

w查看到的信息

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

当前共有85个任务,一个处于running状态,83sleeping(进程进入暂时的休眠状态)状态,1stopped状态,0zombie(主进程终止,留下的一些子进程,无主进程管理自生自灭)状态(任务即进程)

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

cpu占用百分比

st:当服务器运行了虚拟机,虚拟的子机会偷走部分cpu资源

cpu占用率长期保持较高的百分比会降低机器寿命

load average数值较高仅表示占用cpu的进程较多,但占用过程中进程可能处于sleepingblock等状态

大部分情况下,us百分比较高,则系统负载也会很高(某些进程占用cpu百分比较高,一般会导致cpu忙,此时其他进程要使用cpu就需要排队,则系统负载就会增高)

1切换查看单个逻辑cpu使用情况或总体使用情况

KiB Mem :  1008152 total,   703616 free,   122344 used,   182192 buff/cache

内存使用情况,共有1008152内存,剩余703616,已使用122344,还有182192buff/cache,单位KB

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

内存使用情况

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

4383 root      20   0       0      0      0 S  0.3  0.0   0:06.45 kworker+

    1 root      20   0  128208   6852   4092 S  0.0  0.7   0:03.05 systemd

    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd

    3 root      20   0       0      0      0 S  0.0  0.0   0:00.36 ksoftir+

    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker+

7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migrati+

默认按cpu使用率排序,使用较多的被排在前面

shift+m:按内存使用率排序

shift+p:按cpu使用率排序

RES:物理内存大小,单位KB

PID:进程号,杀死进程时会用到

kill PID

q退出top命令

 

[root@hyc-01-01 ~]# top –c 显示进程命令详细的全局路径

top - 17:17:24 up 16:31,  2 users,  load average: 0.00, 0.01, 0.05

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

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

KiB Mem :  1008152 total,   703616 free,   122344 used,   182192 buff/cache

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

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

4468 root      20   0       0      0      0 S  0.3  0.0   0:00.01 [kworke+

    1 root      20   0  128208   6852   4092 S  0.0  0.7   0:03.07 /usr/li+

    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 [kthrea+

    3 root      20   0       0      0      0 S  0.0  0.0   0:00.39 [ksofti+

    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 [kworke+

7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 [migrat+

 

[root@hyc-01-01 ~]# top -bn1 一次性静态显示所有进程,仅显示一屏信息

top - 18:14:36 up 17:29,  2 users,  load average: 0.00, 0.01, 0.05

Tasks:  86 total,   1 running,  83 sleeping,   2 stopped,   0 zombie

%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

KiB Mem :  1008152 total,   702816 free,   123100 used,   182236 buff/cache

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

 

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

    1 root      20   0  128208   6852   4092 S  0.0  0.7   0:03.07 systemd

    2 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kthreadd

    3 root      20   0       0      0      0 S  0.0  0.0   0:00.40 ksoftir+

    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker+

    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migrati+

8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh

 

10.4 sar命令

 

用于分析系统状态,功能复杂

[root@hyc-01-01 ~]# yum install -y sysstat

[root@hyc-01-01 ~]# sar

无法打开 /var/log/sa/sa11: 没有那个文件或目录

sar10分钟会将系统状态信息分析一遍并将分析结果保存在/var/log/sa/下,使用sar命令不加任何参数时会默认调用/var/log/sa/下的sar分析的历史文件,此时分析后的文件还未生成,所以会报错

 

[root@hyc-01-01 ~]# sar -n DEV 1 10 分析网卡信息,每秒一次,共分析10

Linux 3.10.0-693.el7.x86_64 (hyc-01-01)    20180711      _x86_64_   (1 CPU)

 

193606     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

193607        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

193607     ens33      1.00      1.00      0.06      0.17      0.00      0.00      0.00

 

193607     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

193608        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

193608     ens33      1.01      1.01      0.06      0.39      0.00      0.00      0.00

时间信息

IFACE:网卡名

rxpck/s:每秒收到的包总数

txpck/s:每秒发出的包

rxkB/s:每秒收到的流量(KB

txkB/s:每秒发出的流量(KB)

如果接收的包过万则需要关注是否受到×××

 

[root@hyc-01-01 ~]# sar 此时sar已生成历史文件,不再报错

Linux 3.10.0-693.el7.x86_64 (hyc-01-01)    20180711      _x86_64_   (1 CPU)

 

193001     CPU     %user     %nice   %system   %iowait    %steal     %idle

194001     all      0.04      0.00      0.12      0.00      0.00     99.83

195001     all      0.04      0.00      0.11      0.00      0.00     9

[root@hyc-01-01 ~]# ls /var/log/sa

sa11

 

[root@hyc-01-01 ~]# sar -n DEV -f /var/log/sa/sa11 指定查看某天的历史信息

Linux 3.10.0-693.el7.x86_64 (hyc-01-01)    20180711      _x86_64_   (1 CPU)

sa目录下的历史文件名通常会是sa+日期(711号则生成的文件为sa11);

sa目录下的历史文件最多保留一个月;

 

[root@hyc-01-01 ~]# sar -q 1 10 查看系统负载

Linux 3.10.0-693.el7.x86_64 (hyc-01-01)    20180711      _x86_64_   (1 CPU)

 

203843   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked

203844         1       106      0.04      0.03      0.05         0

203845         1       106      0.03      0.03      0.05         0

203846         1       106      0.03      0.03      0.05         0

 

[root@hyc-01-01 ~]# sar -q -f /var/log/sa/sa11 指定查看11号的系统负载情况

 

[root@hyc-01-01 ~]# sar -b 1 5 查看磁盘信息

Linux 3.10.0-693.el7.x86_64 (hyc-01-01)    20180711      _x86_64_   (1 CPU)

 

204402       tps      rtps      wtps   bread/s   bwrtn/s

204403      0.00      0.00      0.00      0.00      0.00

204404      0.00      0.00      0.00      0.00      0.00

204405      0.00      0.00      0.00      0.00      0.00

204406      0.00      0.00      0.00      0.00      0.00

204407      0.00      0.00      0.00      0.00      0.00

平均时间:      0.00      0.00      0.00      0.00      0.00

 

/var/log/sa目录下与11号相关的历史信息文件除了sa11还会有sar11

sa11只能用sar命令查看,属于二进制文件,sar11可以用catless等命令查看,是文本文件;

sa11会在11号当天即时生成,sar11会在11号后再生成;

 

-b 查看磁盘信息

-f 指定查看某天历史信息

-q 查看系统负载信息

-n 有多个选项,-n后跟DEV查看网卡流量信息

 

10.5 nload命令

 

[root@hyc-01-01 ~]# yum install -y nload 安装nload相关的包

[root@hyc-01-01 ~]# nload 动态显示网卡实时速率

nload信息中可以看到共有两块网卡,按向右方向键可以切换查看的网卡;

q退出;

7.10 10.1-10.5_vmstat