转载请注明作者和出处: http://blog.csdn.net/john_bh/
文章目录
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视
.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。
1. top 命令
在终端输入 top
命令:
top
输入结果:
输出说明:
-
第一行
- 01:41:53: 系统当前时间 ;
- up 14 days, 14:04 : 系统开机到现在经过了多少时间(在这期间系统没有重启过的吆!);
- 10 users : 当前10用户在线;
- load average: 33.54, 27.33, 24.40: load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况;
-
第二行
- Tasks:任务;
- 9 total:很好理解,就是当前有9个任务,也就是9个进程;
- 1 running:1个进程正在运行;
- 8 sleeping:8个进程睡眠;
- 0 stopped:停止的进程数;
- 0 zombie:僵死的进程数。
-
第三行
- Cpu(s):表示这一行显示CPU总体信息;
- 37.9 us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间;
- 7.2 sy:内核占用CPU时间百分比;
- 0.0 ni:改变过优先级的进程占用CPU的百分比;
- 54.2 id:空闲CPU时间百分比;
- 0.4 wa:等待I/O的CPU时间百分比;
- 0.0 hi:CPU硬中断(Hardware IRQ)时间百分比;
- 0.2 si:CPU软中断(Software Interrupts)时间百分比
注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;
KiB Mem : 26403577+total, 17279660+free, 36719872 used, 54519296 buff/cache
KiB Swap: 16777212 total, 16770044 free, 7168 used. 22026579+avail Mem -
第四行
- Men:内存的意思
- 26403577+total:物理内存总量;
- 36719872 used:使用的物理内存量;
- 17279660+ free:空闲的物理内存量;
- 54519296 buff/cache:用作内核缓存的物理内存量
-
第五行
- Swap:交换空间;
- 16777212total:交换区总量;
- 7168 used:使用的交换区量;
- 17279660free:空闲的交换区量;
- 4336992k cached:缓冲交换区总量
-
第六行:空行
-
第七行: 进程信息
- PID:进程的ID
- USER:进程所有者
- PR:进程的优先级别,越小越优先被执行
- NInice:值
- VIRT:进程占用的虚拟内存
- RES:进程占用的物理内存
- SHR:进程使用的共享内存
- S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
- %CPU:进程占用CPU的使用率
- %MEM:进程使用的物理内存和总内存的百分比
- TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值
- COMMAND:进程启动命令名称
2. top命令交互操作指令
下面列出一些常用的 top命令操作指令:
- q:退出top命令
- :立即刷新
- s:设置刷新时间间隔
- c:显示命令完全模式
- t::显示或隐藏进程和CPU状态信息
- m:显示或隐藏内存状态信息
- l:显示或隐藏uptime信息
- f:增加或减少进程显示标志
- S:累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
- u:指定显示用户进程
- r:修改进程renice值
- kkill:进程
- i:只显示正在运行的进程
- W:保存对top的设置到文件^/.toprc,下次启动将自动调用toprc文件的设置
- h:帮助命令。
注:强调一下,使用频率最高的是P、T、M,因为通常使用top,我们就想看看是哪些进程最耗cpu资源、占用的内存最多;
注:通过”shift + >”或”shift + <”
可以向右或左改变排序列 如果只需要查看内存:可用free命令。只查看uptime信息(第一行),可用uptime命令。
2.1 实例1:多核CPU监控
在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况;
观察上图,服务器有40个逻辑CPU,实际上是5个物理CPU。再按数字键1,就会返回到top基本视图界面。
2.2 实例2:高亮显示当前运行进程
敲击键盘“b”(打开/关闭加亮效果),top的视图变化如下:
我们发现进程id为320的“top”进程被加亮了,可以通过敲击“y”键关闭或打开运行态进程的加亮效果。
2.3 实例3:显示完整的程序命令
命令:top -c
2.4 实例4:显示指定的进程信息
命令:top -p pidid
3. 常用操作
top //每隔5秒显式所有进程的资源占用情况
top -d 2 //每隔2秒显式所有进程的资源占用情况
top -c //每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456 //每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数
4. htop 更强大的工具
htop 是一个 Linux 下的交互式的进程浏览器,可以用来替换Linux下的top命令。
与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
与top相比,htop有以下优点:
- 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
- 在启动上,比top 更快。 杀
- 进程时不需要输入进程号。
- htop 支持鼠标操作。
具体使用细节,参考博客:https://blog.csdn.net/john_bh/article/details/107810031