10.1 使用w查看系统负载
10.2 vmstat命令
10.3 top命令
10.4 sar命令
10.5 nload命令
在日常运维中,当机器出现问题时候,我们可以使用Linux下很多工具来查看机器哪里出现问题并解决他们
10.1 使用w查看系统负载
w:查看系统负载 可以查看出当前是哟是否有压力

其中第一行表示 当前时间 已经登录的时间 多少个用户登录 load averrage 后面三个数字表示 一分钟 五分钟 和十五分钟内系统的负载值
一分钟内的负载值表明一分钟内使用cpu的进程数量 是个平均值 小于逻辑cpu的个数是没问题的 大于则表明机器有压力要注意
下面为登录系统的用户信息 用户名字 登录的终端 pts为远程登录 登录的ip地址 登录的时间等等
1 | [root@localhost ~]# cat /proc/cpuinfo ##查看cpu 核数 0表示1个 |

也可以使用1
2[root@localhost ~]# cat /proc/cpuinfo |grep -c 'processor' ##系统只有一个逻辑cpu
1
uptime:查看系统负载

内容和w命令的第一行是一样的
10.2 vmstat命令
当你发现系统有问题时候想要知道系统哪里出现问题 是cpu 内存还是硬盘等出现问题可以是vmstat来查看
vmstat:显示系统cpu 内存 硬盘io的使用情况
用法:vmstat n n (n为数字) 第一个n表示没n秒显示一次 第二个n表示显示次数
| 数字 | 含义 |
|---|---|
| r | 正在使用cpu和等待cpu的进程数量 |
| b | 被硬盘 网络等阻断的进程数量 |
| swpd | 交换分区的容量 持续有数字 表明内存和交换分区频繁交换数据 说明内存不够 |
| si | 从交换分区进入内存的数据量 |
| so | 从内存回到交换分区的数据量 |
| bi | 从硬盘进入到内存的数据量 读数据 |
| bo | 从内存回来到硬盘的数据量 写数据 |
| us | 用户级别使用进程占用cpu的百分比 |
| sy | 系统使用进程占用cpu的百分比 |
| id | 空闲百分比 |
| wa | 等待cpu的进程的百分比 |
- 总结
- r 长期大于cpu个数 需要增加cpu
- swpd si so 中持续有数字 表明内存和交换分区频繁交换数据 说明内存不够
- bi bo数据量大 说明数据频繁读写 导致b的数量不断增加
- us大于50 说明用户的进程占用大量资源 要注意
- wa 数值比较大 说明硬盘出现问题
- us +sy +id +wa =100%
10.3 top命令
top:查看进程使用cpu 内存的情况 默认按cpu来排序

第一行和w命令的内容一样
第二行 total总进程数 running使用cpu的进程数量 sleeping休眠中的进程数量(等会会running) stopped停止运行的进程数量 zombie僵尸进程的数量(少主进程的进程 没用进程)
第三行 cpu的百分比情况 us用户使用cpu的百分比 sy系统使用cpu的百分比 id空闲百分比 wa等待cpu的百分比 st被偷走cpu的百分比(机器使用虚拟化会出现)
第四行 内存的使用情况 total总内存大小 free剩余大小 used使用的大小 buff/cache缓冲缓存的大小
第五行 交换分区的使用情况
第一列 PID 进程的id
第二列 USER 使用进程的用户
第六列 RES 使用物理内存的大小 单位kb
第八列 %CPU 占用cpu的百分比
第九列 %MEN 占用内存的百分比
第十一列 COMMAND 命令名字
m:可视化内存情况
M:按照内存来排除
1:切换cpu
P:使用cpu排序q:退出top命令
-c:命令显示全局路径1
[root@localhost ~]# top -c

-bn1:一次性显示所有进程的信息 适合写脚本使用1
[root@localhost ~]# top -bn1

10.4 sar命令
sar:监控系统状态
默认没有安装sar工具1
2[root@localhost ~]# yum install -y sysstat ##安装sysstat包
[root@localhost ~]# sar

直接调用sar的历史文件 刚刚安装默认没有 路径在/var/log/sa下 没几分钟会生成以当天日期为名字的文件 其中sa日期是二进制文件 和sar日期是普通文件 可以cat
sar -n DEV:查看网卡流量
rxpck/s 每秒接受包的数量 数字上万要注意 可能遇到攻击
txpck/s 每秒发送包的数量
rxkB/s 每秒接受的数据量
txkB/s 每秒发送的数据量
sar -n DEV -f 历史路径:查看历史网卡流量1
[root@localhost ~]# sar -n DEV -f /var/log/sa/sa05 ##查看sa05的历史网卡流量情况
sar -q:查看负载情况
sar -q -f 历史路径:查看历史负载
sar -b:查看磁盘读写
10.5 nload命令
nload:动态显示网卡流量情况
系统默认没安装nload工具 而它在eple的扩展包下1
2[root@localhost ~]# yum install eple-release
[root@localhost ~]# yum install -y nload
