银河麒麟系统中终端中一个实用的实时性能监控工具top,用来查看占用CPU情况
点击关注上方“消遣杂谈”,关注后了解更多内容。

前言:top,是一个Linux工具,用于监视进程和Linux整体性能,需要系统管理员权限。文中带广告。

下面我们以下图为例,结合top命令进行讲解!

结合这张 top 截图,分步讲解:查看系统负载、磁盘 IO 读写
一、先看懂截图里的系统负载(top 顶部第一行)
top - 21:26:00 up 10 min, 1 user, load average: 16.92, 15.42, 8.22
load average: 16.92, 15.42, 8.22三个数字含义:16.92:最近 1 分钟 CPU 平均负载15.42:最近 5 分钟 CPU 平均负载8.22:最近 15 分钟 CPU 平均负载

-
假如你是ft2000,那么你就是4 核 CPU,那么如果负载持续>4 代表 CPU 满载;你当前负载 16.92,说明 CPU 压力极大,所以系统卡顿。
二、看懂磁盘 IO 等待(top 第二行 % wa 参数)
截图第二行:
%Cpu(s): 1.7 us, 8.9 sy, 0.0 ni, 30.7 id, 58.7 wa, 0.0 hi, 0.0 si, 0.0 st
58.7 wa = iowait(IO 等待占比)wa 值越高,代表大量进程在等硬盘读写,磁盘瓶颈!你这里 58.7%,严重磁盘读写阻塞,是系统卡顿核心原因。58.7wa在正中间

三、单独查看磁盘实时读写(3 个常用命令,银河麒麟通用,这三个系统基本自带,iostat,iotop,vmstat)
1. iostat (全局磁盘读写统计,最推荐)
安装(缺少工具时执行)
sudo apt install sysstat
我的龙芯自带

实时刷新查看(每 2 秒刷新一次)
iostat -x 2

要放大了看,要不然无法比对,上图就是没法看出来
关键字段解读:
%util:磁盘繁忙度,接近 100%= 磁盘跑满rMB/s:每秒读取速度wMB/s:每秒写入速度await:IO 请求平均等待时间,数值大 = 磁盘卡顿

我的是3点多的繁忙度
2. iotop (看哪个进程在疯狂读写硬盘)
如果没有的话用下列命令安装,一般都自带:
sudo apt install iotop

系统还是自带了
实时监控进程 IO:
sudo iotop -oP

重点看 DISK WRITE / DISK READ 列,找到占用磁盘的程序(比如 wps、日志写入、解压、拷贝文件等)。
必须用管理员才行

3. vmstat 简易 IO 监控
每 2 秒输出一次系统 + 磁盘状态:
vmstat 2

字段 bi(读块)、bo(写块),数值持续走高代表大量磁盘读写,看我的都是不算太高。
四、结合截图的问题总结
-
负载 16.92、wa 高达 58.7%:磁盘 IO 瓶颈,进程都卡在等硬盘读写; -
排查步骤: -
①执行 sudo iotop -oP找出疯狂读写磁盘的进程; -
②用 iostat -x 2确认哪块磁盘打满; -
③清理大文件、停止拷贝 / 解压 / 日志刷屏程序,释放磁盘压力。
另外补充一下:在 top 界面按快捷键
Shift + d:调整刷新间隔;Shift + i:忽略闲置进程;o:自定义排序,按 IO 占用排序;q:退出 top。
总之,通过这些命令我们就可以开始排查占用问题,利用组合拳,解决问题,解决卡顿问题。
觉得内容好看
点个
和
↓↓
夜雨聆风