您的位置 首页 > 天生丽质

【top什么意思】「linux专栏」top命令用法详解,再也不怕看不懂top了

在Linux系统上,我们经常使用的命令之一是top。这主要用于显示系统中运行的所有进程和进程的资源使用情况等,所有用户都可以使用top命令。

top命令内容量丰富,可令使用者头疼的是无法全部看懂它的含义,要么就是不用使用,要么就是不太掌握使用技巧。鉴于此,特地来讲解一下top命令。

基础篇——看懂top

这里我们列举一个top案例,以此案例来教大家如何看懂top。

top - 11:11:59 up 2:19, 3 users, load average: 0.04, 0.06, 0.05 Tasks: 237 total, 1 running, 235 sleeping, 0 stopped, 1 zombie %Cpu(s): 0.7 us, 0.2 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1863252 total, 64576 free, 1399920 used, 398756 buff/cache KiB Swap: 2097148 total, 1720572 free, 376576 used. 117632 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8816 root 20 0 3633756 249440 55012 S 0.7 13.4 2:01.40 gnome-shell 6363 root 20 0 320332 2072 1660 S 0.3 0.1 0:18.19 vmtoolsd 6924 dmdba 39 19 2561364 187944 16 S 0.3 10.1 0:20.15 dmserver 7107 root 20 0 501060 157332 118028 S 0.3 8.4 0:41.72 X 10105 dmdba 20 0 3297352 414348 6284 S 0.3 22.2 1:08.05 java 1 root 20 0 191424 3392 1752 S 0.0 0.2 0:09.82 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:01.98 ksoftirqd/0 ……

第一行:top

top - 11:11:59 up 2:19, 3 users, load average: 0.04, 0.06, 0.05 含义: - 11:11:59——指系统的当前时间 up 2:19——指当前系统运行的时间2小时19分(未重启,连续运行时间) 3 users——当前系统有三个用户登录 load average: 0.04, 0.06, 0.05——指系统分别在1分钟、5分钟、15分钟内运行的负载情况。 ——load average算法是每隔5秒检查活跃进程数,按特定算法算出,如果结果除以逻辑CPU结果高于5表名系统超负荷运转。

第二行:系统当前进程数情况

Tasks: 237 total, 1 running, 235 sleeping, 0 stopped, 1 zombie 含义: 237 total:进程数,共237个、1 running:1个运行中、235 sleeping:235个休眠进程、0 stopped:0个停止状态进程、1 zombie:1个僵尸进程。

第三行:当前CPU的运行情况

%Cpu(s): 0.7 us, 0.2 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st 含义: 0.7 us:用户空间占用CPU的百分比 0.2 sy:内核空间占用CPU的百分比 0.0 ni:改变过优先级的进程占用CPU的百分比 99.2 id:空闲CPU百分比 0.0 wa: IO等待占用CPU的百分比 0.0 hi:硬中断(Hardware IRQ)占用CPU的百分比 0.0 si: 软中断(Software Interrupts)占用CPU的百分比 0.0 st:系统百分之多少等待得到真正的cpu资源。在正常情况下最好为0,表明得到了所有必要的cpu资源。如果这个值为50,表明cpu时有一半时间在等待。

第四行:内存状态 KiB Mem(单位k)

KiB Mem : 1863252 total, 64576 free, 1399920 used, 398756 buff/cache 含义: 1863252 total:物理内存总量1863252kb 64576 free: 空闲内存总量64576kb 1399920 used:使用中的内存总量1399920kb 398756 buff/cache: 缓存的内存量398756kb

第五行:swap交换分区 KiB Swap(单位k)

KiB Swap: 2097148 total, 1720572 free, 376576 used. 117632 avail Mem 2097148 total:交换区总量 1720572 free:空闲交换区总量 376576 used:使用的交换区总量 117632 avail Mem :可用的交换区总量

第六行:空行

top内部交互命令使用时,在此行显示

第七行以下:各进程(任务)的状态监控

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6924 dmdba 39 19 2561364 187944 16 S 0.3 10.1 0:20.15 dmserver 含义: PID — 进程id USER — 进程所有者 PR — 进程优先级 NI — nice值。负值表示高优先级,正值表示低优先级 VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR — 共享内存大小,单位kb S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 %CPU — 上次更新到现在的CPU时间占用百分比 %MEM — 进程使用的物理内存百分比 TIME+ — 进程使用的CPU时间总计,单位1/100秒 COMMAND — 进程名称(命令名/命令行)

进阶一:top命令参数用法

对于top命令的完整语法是:top [选项],而在我们日常使用过程中都是忽略选项的,下面来看看top命令的选项都有哪些。我们可以使用top -h查看命令帮助信息。

host bin]# top -h procps-ng version 3.3.10 Usage: top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]

top命令选项:

-b      以批处理模式操作 -c      显示完整的治命令 -d      屏幕刷新间隔时间 -I       忽略失效过程 -s      保密模式 -S      累积模式 -i<时间>    设置刷新间隔时间 -u<用户名> 指定用户名 -p<进程号> 指定进程 -n<次数>   循环显示的次数 注意:请忽略多余的选项,help中实际的选项较少,是因为本文在麒麟操作系统中进行的演示。

案例:在top显示中只查看dmdba用户的进程情况,并且要求每10秒进行刷新。

命令:top - u dmdba -d 10

进阶二:top命令中的交互命令参数用法

进入top命令后,提供了一些交互命令,可以帮助我们更好的对top结果进行管理,涉及的交互命令如下:

h    显示快捷键帮助 k    终止一个进程 i     开/关忽略闲置和僵死进程 q    退出程序 r     重新安排一个进程的优先级别 S    切换到累计模式 s    更改刷新间隔时间,单位秒 f,F   从当前显示中添加或者删除项目 o,O   改变显示项目的顺序 l     切换显示平均负载和启动时间信息 m    切换显示内存信息 t     切换显示进程和CPU状态信息 c    切换显示命令名称和完整命令行 M    根据内存使用大小排序 P    根据CPU使用率进行排序 (默认排序) T    根据时间/累计时间进行排序 w    将当前设置写入~/.toprc文件中 1    展开多核cpu显示

案例:进入top后查看多核cpu的运行情况。

进入top后,按下1键,此时看看到2个cpu都显示了各自的cpu运行情况。

更多实用技能敬请期待,收藏+关注才不会迷路哦[憨笑]

关于作者: admin

无忧经验小编鲁达,内容侵删请Email至wohenlihai#qq.com(#改为@)

热门推荐