山地人

Linux top命令

山地人
山地人
2021-05-02

Top命令

我们平时会部署一些应用到Linux服务器,所以经常需要了解服务器的运行状态,top命令就是帮助我们了解服务器当前状态的非常实用的工具。

你可以全面了解当前CPU、内存、进程等一系列当前服务器状态。

在linux终端中,输入top 按下Enter,立即进入top界面。

# top

立即动手

启动下面的终端,输入top,按回车,然后尝试上面的快捷方式,很快你就能掌握top

如果你操作正确,应该会看到了下面这样的界面。

top - 19:25:37 up 3:46, 2 users, load average: 0.00, 0.05, 0.10
Tasks: 97 total, 1 running, 96 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.0 us, 1.0 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1014720 total, 207632 free, 313624 used, 493464 buff/cache
KiB Swap: 4095996 total, 3379452 free, 716544 used. 534020 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3548 mysql 20 0 985096 5548 1560 S 0.3 0.5 0:06.74 mysqld

别着急,让我们耐心分析一下上面这堆内容,一会你就会全明白的:

首行:系统的整体情况概览

名称 系统运行3时:46分 系统负载:1分钟/5分钟/15分钟级
top - 19:25:37 up 3:46, 2 users, load average: 0.00, 0.05, 0.10
系统当前时间 当前登录用户数2人 对于单核CPU 1.0表示满负载

第2行:进程状态

进程总任务数:97个 运行进程1个 96个当前睡眠状态 停止进程0个 僵尸进程0个
Tasks: 97 total, 1 running, 96 sleeping, 0 stopped, 0 zombie

第3行:CPU状态

Cpu占用比: 用户空间 内核空间 用户定义优先级 空闲 等待IO 硬中断 软中断 虚拟机
%Cpu(s): 1.0 us, 1.0 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

第3-4行: 内存和Swap交换区状态

单位 物理内存 总量 空闲 已使用 内核缓存用量
KiB Mem : 1014720 total, 207632 free, 313624 used, 493464 buff/cache
交换区 总量 空闲 已使用 可用内存
KiB Swap: 4095996 total, 3379452 free, 716544 used. 534020 avail Mem

最后需要了解的

进程ID 优先级 Nice值 虚拟内存 物理内存 共享内存 CPU 内存 CPU总时间 命令
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3548 mysql 20 0 985096 5548 1560 S 0.3 0.5 0:06.74 mysql
进程状态

NI 负值表示高优先级,正值表示低优先级

恭喜你,这么有耐心看完了所有的介绍,现在应该有了一个模糊的印象,没关系过两天,再回来巩固一下,你就会更清楚的。学习是需要不断巩固的,对吧。

下面,我们再来学习top命令的一些常用操作。

常用快捷键

  • shift+e 切换内存显示模式(可重复按键切换)
  • z 切换是否彩色显示(可重复按键切换)
  • m 切换内存显示模式(可重复按键切换)
  • e 切换底部进程中单位的显示模式(可重复按键切换)
  • b 切换高亮选中(可重复按键切换)
  • W 把当前配置保存到文件中,下次启动top会使用当前的配置
  • h 进入帮助菜单 (进入菜单后,可按ESC或q退出帮助菜单)
  • q 退出top命令

打开下面的终端,试试上面的这些快捷键。

排序字段

底部的进程排序,是可以选择按指定列进行排序的。

  • 先按f进入字段选择界面,
  • 然后按上下键选择要排序的字段,界面会高亮显示,选中合适的内容
  • 确定选中操作后,按下s键,激活这个选择。
  • 最后按q键退出排序字段选择界面。

你会看到不同的排序界面

打开下面的终端,继续尝试上面的操作。

至此,你已经完成了本篇互动教程的全部内容,相信你一定收获满满。

学完本篇互动教程,如果你觉得体验不错,可以把网页链接发送给你的小伙伴,让他/她也来感受一下。当然,你也可以继续看看网站上其他的的互动教程,希望`idev365`能够给你带来收获。

学习教程的过程中碰到了问题,或者对idev365有什么改进意见和想法,欢迎加入idev365微信内测群,和山地人交流你的想法。