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 可以用于查看cpu(procs)、内存(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
r(run):处于run状态的进程数,这里包括正在使用cpu的进程和排队等待使用cpu的进程
b(block):进程由于cpu以外的原因(硬盘、网络等)处于等待卡死状态
swpd:该数值保持为0不变,则未发生内存和交换空间交换数据的行为,若该数值持续变化,则说明内存与交换分区在频繁交换数据,说明内存已经不够用
si:有多少KB数据从swap进入内存
so:有多少KB数据从内存被放入swap
bi:有多少KB数据从磁盘被读入内存
bo:有多少KB数据从内存被写入磁盘
io相对内存和cpu速度很慢,如果bi和bo数值较大可能会导致处于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状态,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.
cpu占用百分比
st:当服务器运行了虚拟机,虚拟的子机会偷走部分cpu资源
cpu占用率长期保持较高的百分比会降低机器寿命
load average数值较高仅表示占用cpu的进程较多,但占用过程中进程可能处于sleeping或block等状态
大部分情况下,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: 没有那个文件或目录
sar每10分钟会将系统状态信息分析一遍并将分析结果保存在/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) 2018年07月11日 _x86_64_ (1 CPU)
19时36分06秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
19时36分07秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
19时36分07秒 ens33 1.00 1.00 0.06 0.17 0.00 0.00 0.00
19时36分07秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
19时36分08秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
19时36分08秒 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) 2018年07月11日 _x86_64_ (1 CPU)
19时30分01秒 CPU %user %nice %system %iowait %steal %idle
19时40分01秒 all 0.04 0.00 0.12 0.00 0.00 99.83
19时50分01秒 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) 2018年07月11日 _x86_64_ (1 CPU)
sa目录下的历史文件名通常会是sa+日期(7月11号则生成的文件为sa11);
sa目录下的历史文件最多保留一个月;
[root@hyc-01-01 ~]# sar -q 1 10 查看系统负载
Linux 3.10.0-693.el7.x86_64 (hyc-01-01) 2018年07月11日 _x86_64_ (1 CPU)
20时38分43秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
20时38分44秒 1 106 0.04 0.03 0.05 0
20时38分45秒 1 106 0.03 0.03 0.05 0
20时38分46秒 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) 2018年07月11日 _x86_64_ (1 CPU)
20时44分02秒 tps rtps wtps bread/s bwrtn/s
20时44分03秒 0.00 0.00 0.00 0.00 0.00
20时44分04秒 0.00 0.00 0.00 0.00 0.00
20时44分05秒 0.00 0.00 0.00 0.00 0.00
20时44分06秒 0.00 0.00 0.00 0.00 0.00
20时44分07秒 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可以用cat、less等命令查看,是文本文件;
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退出;