TOP命令分析性能

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sld880311/article/details/83590937

语法

top -h
procps-ng version 3.3.10
Usage:
  top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
s – 改变画面更新频率
l – 关闭或开启第一部分第一行 top 信息的表示
t – 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m – 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
N – 以 PID 的大小的顺序排列表示进程列表
P – 以 CPU 占用率大小的顺序排列进程列表
M – 以内存占用率大小的顺序排列进程列表
h – 显示帮助
n – 设置在进程列表所显示进程的数量
q – 退出 top
s – 改变画面更新周期

请在top里面按下E,注意是大写。你会发现内存那一行的最左侧,也就是Mem前面,
会有Kib、MiB、GiB等单位变化,但是数字后面不会直接写明单位。

在这里插入图片描述

显示列

        默认情况下仅显示比较重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容。通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。

在这里插入图片描述

作用

top命令作为Linux下最常用的性能分析工具之一,可以监控、收集进程的CPU、IO、内存使用情况。比如我们可以通过top命令获得一个进程使用了多少虚拟内存(VIRT)、物理内存(RES)、共享内存(SHR)。

VIRT RES SHR的准确含义

top命令通过解析/proc//statm统计VIRT和RES和SHR字段值。
VIRT是申请的虚拟内存总量。
RES是进程使用的物理内存总和。
SHR是RES中”映射至文件”的物理内存总和。包括:

  • 程序的代码段。
  • 动态库的代码段。
  • 通过mmap做的文件映射。
  • 通过mmap做的匿名映射,但指明了MAP_SHARED属性。
  • 通过shmget申请的共享内存。

/proc//smaps内Shared_*统计的是RES中映射数量>=2的物理内存。
/proc//smaps内Private_*统计的是RES中映射数量=1的物理内存。

参考文献

剖析top命令显示的VIRT RES SHR值

猜你喜欢

转载自blog.csdn.net/sld880311/article/details/83590937
今日推荐