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资源的原因。而应该从别的地方找原因。(有可能是网络问题,webserver问题,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命令具有既输出到屏幕,又能够重定向到文件的作用)
在top命令中
输入f就可以设置要输出到界面的參数的列表
输入F就可以对输出到界面的參数进程排序,选择要排序的数据就可以