在linux操作系统中,top命令经常用来监视系统活动进程和系统的资源负载信息等,在日常的运维工作中也是最基本的命令。
对于top命令,难点在于如何看懂top命令后呈现的结果集,下面我们以这top命令结果集的图为例为大家分别介绍。
第一行:top - 17:01:22 up 363 days, 21:46, 1 user, load average: 0.02, 0.01, 0.00
含义分别是:17:01:22(系统时间)、up 363 days, 21:46(运行时间)、1 user(登录终端数)、系统负载(三个数值分别为 1 分钟、5 分钟、15 分钟内的平均值,数值越小意味着负载越低)
第二行:Tasks: 116 total, 1 running, 115 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
含义分别是:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比、等待输入输出的cpu时间百分比、硬中断占用的cpu百分比、软中断占用的cpu百分比和用于虚拟cpu的情况。
第四行:MiB Mem : 15873.4 total, 6209.9 free, 1242.1 used, 8421.4 buff/cache
含义分别是:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第五行:MiB Swap: 0.0 total, 0.0 free, 0.0 used. 13484.2 avail Mem
含义分别是:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。
第六行:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
从第六行开始,就是具体的系统进程的资源使用的详细情况,依次分别表示:进程ID、进程所有者的用户名、优先级、nice值(负值表示搞优先级,正值表示低优先级)、进程使用的虚拟内存总量(KB)、进程使用的未被换出的物理内存大小(KB)、共享内存大小(KB)、进程状态、进程上次更新到现在的CPU时间占用百分比、物理内存占比、进程使用的CPU时间总计(单位1/100秒)、命令名。默认各进程是按照CPU的占用量来排序的。
在读懂top结果集之后,我们再来看看进入top之后的一些命令用法。
监控每个逻辑CPU的状况
在top基本视图中,按键盘数字“1”可以监控每个逻辑CPU的状况。注意看图中高亮显示的几行,默认会把系统中多有逻辑cpu的状态单独在上方呈现。
进程按指定列高亮显示
在top视图中,我们可以按b打开或关闭加亮效果,这样更便于我们观察。在打开加亮的效果之后,我们可以按x键实现列的加亮效果,同时可以按”shift+>”或者”shift+<”左右改变排序序列。
按q
键即可退出top