Linux入门:用 top、df、free 三条命令看懂系统状态

举报
f841705799 发表于 2026/11/03 09:32:33 2026/11/03
【摘要】 刚接触 Linux 的新手,常常在系统变慢时不知道先看哪里。其实不用一下子学很多监控工具,先把 top、df、free 这三条命令看懂,就能对一台机器的当前状态有一个基本的判断。本文用新手能直接上手的方式,讲每条命令要看的关键字段、最常见的误读,以及一套简单的排查顺序。 一、top:先看负载和 CPU,而不是只看某个进程在终端输入 top,会看到一个不断刷新的实时界面。按 q 可以退出。最上...

刚接触 Linux 的新手,常常在系统变慢时不知道先看哪里。其实不用一下子学很多监控工具,先把 top、df、free 这三条命令看懂,就能对一台机器的当前状态有一个基本的判断。本文用新手能直接上手的方式,讲每条命令要看的关键字段、最常见的误读,以及一套简单的排查顺序。

一、top:先看负载和 CPU,而不是只看某个进程

在终端输入 top,会看到一个不断刷新的实时界面。按 q 可以退出。

最上面一行是 load average(平均负载),后面一般有三个数字,分别代表过去 1 分钟、5 分钟、15 分钟的平均负载。它大致反映了等待 CPU 或磁盘的任务数量。很多人看到这个数字比较大就认为 CPU 已经满了,这是一个常见误读:负载高可能来自磁盘等待,也可能只是短时间内任务集中,还要结合下面几行一起看。

接下来要看 %Cpu 这一行。us 是用户进程占用的 CPU,sy 是系统内核占用的 CPU,wa 是等待磁盘输入输出的时间,id 是空闲 CPU 的比例。如果 wa 长期偏高,问题可能不在 CPU 本身,而在磁盘或存储;如果 id 接近零,同时 us 或 sy 很高,才更像是 CPU 真的忙。

再往下是内存和进程列表。按键盘上的 P 可以按 CPU 占用排序,按 M 可以按内存占用排序,这样能快速找到占用最多的进程。找到进程后不要急着结束它,先看它的命令名和占用变化:一个偶尔冲高的进程,和一个一直稳定占用很高的进程,处理方式完全不同。

二、df -h:磁盘还有多少空间,要看挂载点

输入 df -h,可以看到每个文件系统的大小、已用空间、可用空间和使用比例。关键字段是 Use% 和 Mounted on。Use% 接近 100% 时要格外注意,因为很多服务在磁盘写满后会写入失败或无法启动。

另一个常见误读是只看总容量。同样是 80%,根目录和数据目录的影响可能完全不同,一定要看具体挂载到了哪个目录。还有一种情况是空间看起来没满,但小文件太多导致 inode 用完,这时可以用 df -i 再看一次 inode 的使用情况。tmpfs 之类的临时文件系统显示在列表里是正常的,不必把它当成普通硬盘来比较。

三、free -h:内存紧张时,先看 available

输入 free -h,可以看到 total、used、free、shared、buff/cache 和 available。很多新手看到 used 很高就以为内存不够了,这也是最常见的误读之一。

Linux 会把空闲内存用来缓存文件和数据,这部分显示在 buff/cache 里,在需要时可以被回收。所以判断内存是否真的紧张,重点看 available 这一列:它表示在不使用交换分区的情况下,系统估计还能给新进程分配多少内存。如果 available 还比较充裕,一般不需要马上担心;如果 available 很小,同时 Swap 的 used 明显增加,才说明内存压力比较大。

四、三条命令连起来的排查思路

遇到机器变慢,可以按这个顺序走一遍:第一步用 top 看负载和 CPU,判断是 CPU 忙、磁盘等待,还是某个进程异常;第二步用 free -h 看 available 和 Swap,判断是不是内存压力;第三步用 df -h 和 df -i 看磁盘空间和 inode,判断是不是磁盘写满。

做排查时还有两个习惯很有用:一是不要只看某一个瞬时数字,多刷新几次,看它是持续存在还是短暂波动;二是把正常情况下的数值记下来作为基线,出问题时才有比较的依据。命令本身不会直接告诉你答案,但它们会把“哪里紧张”先指出来,剩下的才是去查具体的服务和日志。

小结

top 回答“现在谁在忙”,df 回答“磁盘还能写多少”,free 回答“内存还够不够用”。把这三条命令的关键字段分开看、连起来想,新手也能在系统状态不对劲时,先做出一个有依据的初步判断,而不是凭感觉重启机器。建议在自己的练习机上各跑一次,把 load average、Use% 和 available 这三个数字记下来,这就是你以后排查的起点。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。