一、top适用场合:
我们都知道,top是Linux中最基本的监控管理进程的命令,但是进行top命令分析之前,我们先了解top的使用场合:
- 每隔两秒监控mysql
- 监控普通用户的进程
二、top命令常用参数:
- -p:通过指定进程的pid监控进程
- -d :指定监控的刷新时间
- -u :指定监控进程所属的用户
- -a :按进程占用的内存进行排序
- -i:不显示空闲进程
- -c :显示启动进程的完整命令
三、top面板参数解释:
这个面板包含四部分:
- loadavg:系统负载,这个信息可以通过uptime命令获取
- task/cpu:包含了当前系统的进程和cpu占用情况
- Mem/Swap:包含了当前系统的内存占用和交换分区的使用情况
loadavg:
top - 10:06:15 up 6:22, 3 users, load average: 0.00, 0.00, 0.00
依次对应:系统当前时间 up 系统到目前为止i运行的时间, 当前登陆系统的用户数量, load average后面的三个数字分别表示距离现在一分钟,五分钟,十五分钟的负载情况。
注意:load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
Tasks/Cpu:
Tasks: 79 total, 1 running, 78 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.1%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Tasks:分别表示当前系统总共有多少个进程、多少个进程处于运行状态、多少个进程处于休眠状态、多少个进程处于停止状态、多少个进程是僵尸进程
Cpu:分别表示用户进程占用的cpu时间、系统内核进程占用的cpu时间、被调整优先级的用户进程占用的cpu时间,等待I/O完成占用的cpu时间、硬中断占用的cpu时间和软中断占用的cpu时间
Mem: 1012352k total, 235672k used, 776680k free, 12996k buffers
Swap: 2031608k total, 0k used, 2031608k free, 120468k cached
Mem:分别表示当前系统的所有内存、被内核控制管理的内存大小、未被内核纳入控制范围的内存大小和缓冲区内存大小
Swap:分别表示交换分区的总大小、使用大小、空闲大小、可用缓存大小
PID PPID TIME+ %CPU %MEM PR NI S VIRT SWAP RES UID COMMAND
PID:进程ID
PPID:父进程ID
TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
PR:进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。
NI:进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
S:进程的状态(运行中:R,停止:T,休眠:S,僵尸:Z)
VIRT:占用的虚拟内存大小,单位kb。VIRT=SWAP+RES
SWAP:交换分区的使用大小
RES:进程的常驻内存大小,驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
UID:进程拥有者的用户ID
COMMAND:进程启动的命令、
四、交互命令:
Window 1:Def:Cumulative mode off. System:delay 3.0 secs;Secure mode off.
上面的内容为:top面板使用的是默认窗口显示,累计模式为关闭状态,刷新延迟时间为3秒,安全模式处于关闭状态
Z,B,E,e:模式:
- 普通模式:
- Z:
通过使用A命令可以看到可以使用到的window显示模式,通过使用a和w命令可以切换,或者使用g命令输入模式的数字,上图为Def默认模式 - B:图中圈中的地方都加粗显示了
- E:内存区域单位被修改了,目前支持的单位为:KiB、MiB、GiB、TiB、PiB、EiB
- e:修改面板进程的内存显示单位
l,t,m Toggle Summary: ‘l’ load avg; ‘t’ task/cpu stats; ‘m’ memory info
切换面板是否显示top、Tasks和%Cpu(s)、Mem和Swapf,F,X Fields: ‘f’/‘F’ add/remove/order/sort; ‘X’ increase fixed-width
- f/F:修改字段顺序和要显示的字段,此处我们把PID和USER的显示顺序切换一下
通过光标的左右切换选中,当使用右光标键全选中然后按上下光标键切换显示顺序,使用左光标键然后按d选择要显示与取消显示的字段
修改字段显示顺序
增加要显示的字段:
- X:修改进程显示信息的字段宽度