【9.23】日常运维——常用命令(上)
10.1 使用 w 查看系统负载
- w 查看系统负载
[root@arslinux-01 ~]# w
20:13:32 up 31 min, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.194.1 19:51 4.00s 0.13s 0.07s w
[root@arslinux-01 ~]# date
2019年 09月 23日 星期一 20:13:42 CST
网络登录的是pts/0,pts/1等,虚拟机直接登录时tty1…
load average: 0.00, 0.01, 0.05 表示:1分钟,5分钟,15分钟时间段内,系统的负载
该时间段内,使用CPU的活动的进程有多少个(平均值)
-
有多少逻辑CPU,可以在cpuinfo中查看,processor参数,0表示有cpu1个,1为两个,以此类推
当CPU为一个时,第一个数字1为最理想;CPU为8个时,第一个数字为8最理想,此时processor为7每一个CPU都有一个进程占用,是理想状态,不忙也不闲,高于这个数字就表示要排队了,比较忙。
一般情况下,最关注的第一个数字。 -
uptime 也可以查看系统负载
[root@arslinux-01 ~]# uptime
21:20:53 up 40 min, 1 user, load average: 0.01, 0.03, 0.05
(uptime比w较精简,一般使用w命令即可)
10.2 vmstat 命令
CPU 不够用的话,要考虑什么原因导致 CPU 不够用,进程都在干什么,有哪些任务在使用 CPU ?
需要进一步查看系统信息
- vmstat 可以看到 CPU,内存,虚拟磁盘,交换分区,磁盘,系统进程等信息
[root@arslinux-01 ~]# 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 716340 2200 145592 0 0 37 4 44 124 0 1 99 0 0
- vmstat 时间(s) 表示按单位时间显示一次,Ctrl + C结束
[root@arslinux-01 ~]# vmstat 1
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 716068 2200 145624 0 0 36 4 44 122 0 1 99 0 0
0 0 0 716072 2200 145624 0 0 0 2 32 45 1 1 98 0 0
0 0 0 716072 2200 145624 0 0 0 0 34 50 0 0 100 0 0
0 0 0 716072 2200 145624 0 0 0 0 43 57 0 0 100 0 0
0 0 0 716072 2200 145624 0 0 0 0 33 41 0 0 100 0 0
0 0 0 716072 2200 145624 0 0 0 0 24 35 0 0 100 0 0
0 0 0 716072 2200 145624 0 0 0 0 26 38 0 0 100 0 0
0 0 0 716072 2200 145624 0 0 0 0 27 36 0 1 99 0 0
^C
[root@arslinux-01 ~]#
- vmstat 时间(s) 次数 表示按单位时间显示一次,只显示几次
[root@arslinux-01 ~]# vmstat 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 716172 2200 145656 0 0 36 4 43 120 0 1 99 0 0
0 0 0 716148 2200 145656 0 0 0 0 32 51 0 0 100 0 0
0 0 0 716148 2200 145656 0 0 0 0 36 50 0 0 99 1 0
0 0 0 716148 2200 145656 0 0 0 0 23 35 0 0 100 0 0
0 0 0 716148 2200 145656 0 0 0 0 29 39 0 0 100 0 0
[root@arslinux-01 ~]#
每秒显示1次,共显示5次
字符 | 含义 |
---|---|
r = run | 有多少进程处于 run 的状态 (无论是在使用CPU中,还是在排队中,都是 r 状态) |
b = block | 表示有多少进程在等待(进程被CPU以外的,比如硬盘、网络阻断,处于等待状态) |
swpd | 数字不断变化,交换分区和内存频繁交换数据,内存不够了 |
si | 有多少kb数据从swap进入到内存中(和swap有关) |
so | 有多少kb数据从内存出来到swap中(和swap有关) |
bi | 从磁盘里进入到内存里去,读的数据量(和磁盘有关) |
bo | 从磁盘里进入到内存里去,写的数据量(和磁盘有关) |
us | 用户态的资源占用CPU的百分比(数字长时间大于50,表示资源不够, us+sy+id=100) |
sy | 系统占用 |
id | 空闲 |
wa | wait 等待CPU的进程占百分比 |
10.3 top 命令
- top 命令查看进程
3秒显示一次,动态显示占用最高的进程
[root@arslinux-01 ~]# top
top - 21:53:44 up 1:13, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 995896 total, 706728 free, 134772 used, 154396 buff/cache
KiB Swap: 1999868 total, 1999868 free, 0 used. 690576 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 128040 6540 4136 S 0.0 0.7 0:02.20 systemd
2 root 20 0 0