乐于分享
好东西不私藏

银河麒麟系统中终端中一个实用的实时性能监控工具top,用来查看占用CPU情况

银河麒麟系统中终端中一个实用的实时性能监控工具top,用来查看占用CPU情况

点击关注上方“消遣杂谈”,关注后了解更多内容。

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

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

结合这张 top 截图,分步讲解:查看系统负载、磁盘 IO 读写

一、先看懂截图里的系统负载(top 顶部第一行)

top - 21:26:00 up 10 min,  1 user,  load average: 16.9215.428.22
load average: 16.9215.428.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(写块),数值持续走高代表大量磁盘读写,看我的都是不算太高。

四、结合截图的问题总结

  1. 负载 16.92、wa 高达 58.7%:磁盘 IO 瓶颈,进程都卡在等硬盘读写;
  2. 排查步骤:
    1. ①执行 sudo iotop -oP 找出疯狂读写磁盘的进程;
    2. ②用 iostat -x 2 确认哪块磁盘打满;
    3. ③清理大文件、停止拷贝 / 解压 / 日志刷屏程序,释放磁盘压力。

另外补充一下:在 top 界面按快捷键

    Shift + d:调整刷新间隔;Shift + i:忽略闲置进程;o:自定义排序,按 IO 占用排序;q:退出 top

    总之,通过这些命令我们就可以开始排查占用问题,利用组合拳,解决问题,解决卡顿问题

    觉得内容好看

    点个↓↓