我相信大家都遇到过内存占用率过高的情况,在排查过程中,我们会用到一些命令或工具,下面来看下这些你都用过吗?
top 命令
首先比较常用的就是 top
命令,是性能监控的常用命令,该命令可以实时显示系统中各个进程的资源占用状况。
在这里简单说下每行的意义:
第一行中 load average 为最近 1 分钟、5 分钟、15 分钟的负载情况。
第二行的 Tasks 为进程的情况,如上图所示就是系统目前有 126 个进程,其中正在运行(running)的进程有 1 个,有 125 个睡眠(sleeping)进程,处于暂停(stopped)和僵尸(zombie)进程没有。
第三行为 CPU 状态信息,其中几个属性的意义如下:
参数含义
第四、五行为内存信息,其参数含义如下:
参数含义
还可以通过 top -Hp pid
查看具体线程使用系统资源情况:
vmstat 命令
vmstat
命令可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率、内存使用、虚拟内存交换情况、IO读写情况。
比如执行 vmstat 2 3
命令,其中第一个参数是采样的时间间隔数(单位为秒),第二个参数为采样的次数。
下面来介绍下每个参数到含义:
procs
主要是进程信息,有以下两个字段:
-
r:等待运行到进程数
<