top命令用法
top命令经常用来监控linux的系统状况,是常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。
top的使用方式 top [-d number] | top [-bnp]
参数解释:
-d:number代表秒数,表示top命令显示的页面更新一次的间隔。默认是5秒。
-b:以批次的方式执行top。
-n:与-b配合使用,表示需要进行几次top命令的输出结果。
-p:指定特定的pid进程号进行观察。
在top命令显示的页面还可以输入以下按键执行相应的功能(注意大小写区分的):
?:显示在top当中可以输入的命令
P:以CPU的使用资源排序显示
M:以内存的使用资源排序显示
N:以pid排序显示
T:由进程使用的时间累计排序显示
k:给某一个pid一个信号。可以用来杀死进程
r:给某个pid重新定制一个nice值(即优先级)
q:退出top(用ctrl+c也可以退出top)。
top各输出参数含义
下面是使用top命令来进行性能检测的截图:
图一(ubuntu):
图二(centos):
第1行:top - 05:43:27 up 4:52, 2 users, load average: 0.58, 0.41, 0.30
第1行是任务队列信息,其参数如下:
load average: 如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第2行:Tasks: 159 total, 1 running, 158 sleeping, 0 stopped, 0 zombie
第3行:%Cpu(s): 37.0 us, 3.7 sy, 0.0 ni, 59.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
第2、3行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行linux命令,其参数如下:
第4行:KiB Mem: 1530752 total, 1481968 used, 48784 free, 70988 buffers
total used free shared buffers cached。total used free shared buffers cached。total used free shared buffers cached。
第4、5行为内存信息
其参数如下:
上述最后提到的缓冲的交换区总量,这里解释一下,所谓缓冲的交换区总量,即内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。
计算可用内存数有一个近似的公式:
第四行的free + 第四行的buffers + 第五行的cached
二、进程信息
默认进入top时,各进程是按照CPU的占用量来排序的。
1、在top基本视图中,按键盘数字“1”可以监控每个逻辑CPU的状况:
2、敲击键盘‘b’(打开关闭加亮效果)top视图变换如下:
我们知道inner hook只能屏蔽当前进程的主线程的鼠标消息和键盘消息,如果要想屏蔽当前运行的所有进程的鼠标消息和键盘消息,那么安装钩子过程的代码必须放入动态链接库中。 她具有快速安全的关闭,定时关闭和重启计算机, 以及可以终止当前正在运行的所有进程(程序),以提高 系统利用率。createdirectoryw 创建一个新目录 createfilew 打开或创建以下对象,并返回可访问的句柄:控制台,通信资源,目录(只读打开),磁盘驱动器,文件linux命令,邮槽,管道 createthread 在主线程的基础上创建一个新线程 deletefilew 删除指定文件 exitprocess 终止一个进程 findclose 关闭一个搜索句柄 findfirstfilew 根据文件名查找文件,利用在历遍指定目录的所有文件 findnextfilew 根据文件名查找文件,利用在历遍指定目录的所有文件 getcommandlinew 获得指向当前命令行缓冲区的一个指针 getcurrentprocess 获取当前进程的一个伪句柄 getcurrentthread 获取当前线程句柄 getfilesize 获得该文件的大小 getmodulehandlew 获取一个应用程序或动态链接库的模块句柄 getprocessheap 返回调用进程的默认堆句柄 getshortpathnamew 获取指定路径的短路径形式 heapalloc 指定的堆上分配内存,并且分配后的内存不可移动 heapfree 释放堆内存 isdebuggerpresent 确定调用进程是否由用户模式的调试器调试 mapviewoffile 负责把文件数据映射到进程的地址空间 readfile 从文件中读出数据 setfilepointer 说明在一个文件中设置当前的读取位置 writefile 将数据写入文件。
3、敲击键盘‘x’(打开/关闭排序列的加亮效果),top视图变换如下:
10.若对序列(2, 12, 16, 70, 5, 10)按值从小到大进行排序,前三趟排序的结果分别为:。二分折半查找法,每次取一个顺序序列的中间值与要查找的值进行比对,然后判断是在前半段查找还是后半段查找,确定好之后再取中间值进行比对继续查找,所以前提条件是要查找的序列必须进行排序。首先把序列分成两个子序列,递归地对子序列进行排序,直到整个序列排序结束。
4、改变进程显示字段
在top基本视图中,敲击”f”进入另一个视图,在这里可以编辑基本视图中的显示字段:
用上下键选择选项,按下空格键可以决定是否在基本视图中显示这个选项。
top命令是一个非常强大的功能,但是它监控的最小单位是进程,如果想监控更小单位时,就需要用到ps或者netstate命令来满足我们的要求。
参考文献
1、https://blog.csdn.net/quiet_girl/article/details/50668126
2、
---------------------