服务器监控 -TOP命令详解(下)

用jmeter做性能测试的时候,top命令是最简单扼要的查看服务器CPU和内存占用情况的命令。如下图就是TOP命令展示出来的结果,下面对结果进行详细解说。

 Mem 物理内存:

  1. total : 服务器物理内存总量
  2. used:已经使用的服务器物理内存量
  3. free:缓存区
  4. buffers:高速缓冲区

Swap 交换区(磁盘中的一块空间):

  1. total:交换区总量
  2. used:已经使用的交换区
  3. free:空闲交换区的总量

        注:使用 free -m 可以详细查看内存使用情况

               swap 如果超过4G,繁置换,影响IO。(内存不够用时会打开磁盘置换SWAP,所以影响IO)

列表显示信息:

  1. pid:进程号
  2. user:进程用户名
  3. PR:进程优先级(含义是进程调度器分配给进程的时间长短,单位是时钟个数,时钟的长度与CPU的主频以及操作系统平台有关,Linux上一般上为10ms,RP值为15则表示这个进程的时间片为                       150ms。如果时间片太短,那么CPU浪费在进程切换上的时间比例就比较大,整体效率降低;而如果时间片太长,则多任务实时性以及交互性就无法保证,Linux给每个处理器分配一直运行队列,            互不影响,进程调度器负责将进程分配到适合的CPU。
  4. NI:表示进程优先级调整值。负值表示高优先级。正值表示低优先级;
  5. VIRT:进程使用的虚拟内存总量,单位为Kb,VIRT=swap+RES;
  6. RES:进程使用的、未被换出的物理内存大小,单位为Kb,RES=CODE+DATA;
  7. SHR:共享内存大小,单位为kb,计算某个进程所占用的物理内存大小 公式:RES-SHR;
  8. data:数据占用的内存。如果top命令没有显示,按f键可以显示出来,真正的改程序要求的数据空间,是真正在运行中要使用的;
  9. %CPU:上次更新到现在的CPU占用百分比;
  10. %MEM:使用物理内存百分比;
  11. TIME+:进程使用的CPU时间总计,单位1/100秒,
  12. COMMAND:命令名/进程名

注:top命令默认显示的是进程的信息,如果需要显示线程级的信息,可以使用ps命令,

      进程实际使用的内存是查看RES那一列的信息,VIRT表示进程使用的虚拟内存的数据,SHR表示共享内存的数据,

      默认情况下系统不会显示进程分配到那个CPU上,如果想要分析每个CPU对应的应用程序可以修改top的默认配置,添加字段Last used CPU即可。

top命令使用技巧:

  1. 按1:显示平均/或每个CPU信息。

  2. 按F:排序,排序完按W,永久生效。
             M:根据驻留内存大小进行排序
             P:根据CPU使用百分比大小进行排序
             T:根据时间/累计时间进行排序(TIME+)

  3. 按p:swap进程使用虚拟内存的大小
  4. 按j:进程上一次使用的CPU
posted @ 2021-12-15 11:25  尼古丁·瘾  阅读(482)  评论(0编辑  收藏  举报