Linux 新手的第一课:用 df、du 和 journalctl 把磁盘和日志问题定位清楚

举报
yd_225891185 发表于 2026/11/02 21:34:20 2026/11/02
【摘要】 刚接触 Linux 服务器时,最让人心慌的往往不是命令记不住,而是磁盘突然满了、服务突然起不来,却不知道先看哪里。本文用三组最常用的命令,讲一个新手也能照着走的定位顺序:先看磁盘,再看占用,最后看日志。一、先看磁盘还剩多少df -h 是第一步。它按人类可读的方式列出每个挂载点的总容量、已用、可用和占用率。重点看根目录 / 和数据目录,比如 /var、/data。占用率到 90% 以上就要警惕...

刚接触 Linux 服务器时,最让人心慌的往往不是命令记不住,而是磁盘突然满了、服务突然起不来,却不知道先看哪里。本文用三组最常用的命令,讲一个新手也能照着走的定位顺序:先看磁盘,再看占用,最后看日志。


一、先看磁盘还剩多少

df -h 是第一步。它按人类可读的方式列出每个挂载点的总容量、已用、可用和占用率。重点看根目录 / 和数据目录,比如 /var、/data。占用率到 90% 以上就要警惕,到 100% 时很多服务写不进日志、写不了临时文件,就会连锁报错。注意 tmpfs、docker overlay 这类挂载点也要看,容器日志胀满常常藏在这里。

还有一个容易忽略的点:df 显示可用空间为 0,不一定是文件真的占满了,也可能是已删除但仍被进程占用的文件。可以用 lsof | grep deleted 检查,重启对应服务或进程后空间才会释放。删除日志前,先确认它是不是还在被写。


二、再看是谁占了空间

du -sh /var/log/* 这类命令可以按目录汇总大小,帮你从大到小缩小范围。更常用的是 du -sh /home/* /var/*,先看一级目录,再一层层往下钻。配合 sort -h 排序,结果一目了然。生产环境上不要一上来就 du -sh /,全盘扫描又慢又吵,先从日志、备份、上传目录这几个嫌疑最大的地方开始。

找到大文件后先别急着删:先看它是什么服务的日志、能不能轮转。很多系统已经配了 logrotate,临时手动清理后,下次还会胀回来,根因可能是日志级别开得太细,或者某个任务在死循环写日志。


三、最后看日志说了什么

journalctl 是 systemd 系统的日志入口。journalctl -xe 可以看最近的错误,journalctl -u nginx --since '1 hour ago' 可以只看某个服务近一小时的记录。先找时间点:故障发生前后那几分钟,服务报了什么错,是连接失败、权限不足,还是磁盘写失败。把磁盘问题和日志问题串起来,结论往往就清楚了:磁盘满导致写日志失败,日志里就会出现 No space left on device;反过来,某个服务疯狂报错,也会反过来把磁盘写满。

新手常犯的错误是只盯着一条报错反复搜,而不看时间线。先把故障时间、磁盘占用曲线、日志报错时间对齐,再下结论,少走很多弯路。


四、一个可以复用的检查清单

磁盘满了怎么办,按这个顺序走:df -h 确认哪个挂载点满了;du 定位到具体目录和文件;journalctl 确认相关服务在故障时间点报了什么错;处理完大文件或日志后,再跑一次 df -h 确认空间确实释放;最后检查服务是否恢复,必要时重启受影响的服务。把这四步记下来,下次再遇到类似问题,就不用从零开始慌了。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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