目录
4. 通过”shift + >”或”shift + <”可以向右或左改变排序列
1. top命令行参数
2.top显示信息详解
3. top交互命令
4. 常见使用方式
1.多U多核CPU监控
在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:
观察上图,服务器有16个逻辑CPU,实际上是4个物理CPU。再按数字键1,就会返回到top基本视图界面。
2.高亮显示当前运行进程
敲击键盘“b”(打开/关闭加亮效果),top的视图变化如下:
我们发现进程id为2570的“top”进程被加亮了,top进程就是视图第二行显示的唯一的运行态(runing)的那个进程,可以通过敲击“y”键关闭或打开运行态进程的加亮效果。
3.进程字段排序
默认进入top时,各进程是按照CPU的占用量来排序的,在下图中进程ID为28894的java进程排在第一(cpu占用142%),进程ID为574的java进程排在第二(cpu占用16%)。
敲击键盘“x”(打开/关闭排序列的加亮效果),top的视图变化如下:
可以看到,top默认的排序列是“%CPU”。
4. 通过”shift + >”或”shift + <”可以向右或左改变排序列
下图是按一次”shift + >”的效果图,视图现在已经按照%MEM来排序。
5.参数实例
实例2:显示 完整命令
命令:top -c
实例3:以批处理模式显示程序信息
命令:top -b
实例4:以累积模式显示程序信息
命令:top -S
实例5:设置信息更新次数
命令:top -n 2 表示更新两次后终止更新显示
实例6:设置信息更新时间
命令:top -d 3 表示更新周期为3秒
实例7:显示指定的进程信息
命令:top -p 2525
5.相关理论
3.1 实际的程序可用内存数怎么算呢?
The answer is: free + (buffers + cached)
88024k + (25068k + 85724k) = 198816k
3.2 程序已用内存数又怎么算呢?
The answer is: used – (buffers + cached)
167568k – (25068k + 85724k) = 56776k
3.3 怎么判断系统是否内存不足呢?
如果你的 swap used 数值大于 0 ,基本可以判断已经遇到内存瓶颈了,要么优化你的代码,要么加内存。
3.4 buffer 与cache 的区别
A buffer is something that has yet to be “written” to disk. A cache is something that has been “read” from the disk and stored for later use
6. 扩展
比top
更好用的工具htop
介绍:http://www.jianshu.com/p/ece7700194d8