首页 > 代码库 > top命令的使用
top命令的使用
top命令
第一行和uptime命令一样,都有系统的负载。
10:36:19 当前时间
up 1day ,7min 系统运行时间,格式为天 时:分
1 user 当前登录用户数
load average: 0.00, 0.00, 0.00 系统负载,即任务队列的平均长度。
三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
第二行是指进程的状态。
Tasks: 84 total 进程总数
1 running 正在运行的进程数
83 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
第三行是指cpu各个状态的百分比
us是用户cpu时间百分比 sy是系统cpu时间百分比 ni是优雅cpu时间百分比 id是cpu空闲时间百分比 wa是I/O等待时间百分比 hi是硬件中断时间百分比 st是流逝的时间百分比(运行虚拟机时,执行其他任务的时间百分比)
系统的空闲时间和cpu数、系统负载有关。比如4个cpu,系统负载为1.70,系统就有超过50%的空闲时间
排除故障,当一个系统运行缓慢,首先要观察的度量指标是I/O等待时间(wa),它可以用来排除磁盘I/O的问题。
如果I/O等待时间很低,那么可以查看CPU空闲时间百分比(id)。
如果I/O等待时间很高,那么下一步就是确定是什么因素导致I/O等待时间所占的比重这么高。
如果I/O等待和CPU空闲时间百分比都很低,那么很有可能会看到一个非常高的用户时间百分比,所以你必须确定是什么原因导致这么高的用户时间百分比。
如果I/O等待时间所占的百分比很低,而空闲时间百分比很高,那么你就知道系统运行缓慢不是CPU资源的原因,而应该从别的地方找原因。(有可能是网络问题,web服务器问题,mysql查询缓慢的问题)。
第四行是内存的使用状况
Mem: 1922432k total 物理内存总量
1825816k used 使用的物理内存总量
96616k free 空闲内存总量
36028k buffers 用作内核缓存的内存量
第五行是指swap的使用状况
Swap: 4194296k total 交换区总量
152524k used 使用的交换区总量
4041772k free 空闲交换区总量
53564k cached 缓冲的交换区总量。
如果你想要杀死一个进程,只要按下K按键,然后输入想要终止的PID,最后当系统提示该进程将会终止于signal 15时,按下Enter键就可以杀死进程。
top命令
top -b -n 1 其中-b是指开启批处理模式(不是很懂,感觉就是把所有的进程都显示出来,不像直接top只显示一页),-n 1指刷新的次数为1 ,当刷新完后就会退出top
top -b -n 1 > top-out 把输出重新定向到top-out文件
top -b -n 1|tee top-output 既输出到屏幕又重新定向到top-output文件。(tee命令具有既输出到屏幕,又可以重定向到文件的作用)