Linux查看服务器硬盘容量用哪个命令?如何快速排查存储不足?
概述:最近有不少运维同事在群里吐槽,2026年开年硬盘价格涨得离谱,2月份企业级HDD单块8T的价格已经从月初的2200元飙到2800元,连二手盘都跟着水涨船高。这种行情下,不少公司开始严控存储采购...
最近有不少运维同事在群里吐槽,2026年开年硬盘价格涨得离谱,2月份企业级HDD单块8T的价格已经从月初的2200元飙到2800元,连二手盘都跟着水涨船高。这种行情下,不少公司开始严控存储采购预算,把服务器硬盘容量管理提到了运维KPI里。今天咱们就聊聊,在Linux服务器上怎么把硬盘容量查得明明白白,顺便教几招紧急腾空间的野路子。
df命令才是亲儿子,别被图形界面忽悠了
刚接手服务器的小白最爱干的事,就是满世界找图形化工具。但真实的生产环境里,90%的Linux服务器压根没装桌面环境。这时候df -h就像口袋里的瑞士 ** ——参数简单但能救命。比如昨天有家医院的PACS系统报警,用这个命令两秒钟就发现是归档分区用了98%:
/dev/mapper/vg-data 20T 19.2T 200G 98% /archive
重点看这三个数:总容量、已用量和剩余量。要是看到某个挂载点剩余空间不足10%,赶紧在报价单生效前联系采购加盘吧。现在企业级16T的 SATA 盘报价已经突破4000元,趁采购走流程的空档,咱们得先自救。
du命令挖出空间神偷
知道哪个分区快满了只是开始,真正的技术活是找出谁在偷吃空间。du -sh /* | sort -rh这组命令组合拳,能直接把根目录下各文件夹的大小排个座次。上个月某证券公司的日志服务器报警,就是用这招发现某个交易日志文件夹暴涨到800G——原来开发同事忘了开日志轮转。
进阶技巧是配合--max-depth参数像CT扫描一样层层排查:
du -h --max-depth=2 /var | grep '[0-9]G'
这个命令专治各种"存储消失术",特别是/var这种经常藏龙卧虎的目录。最近帮个视频网站做审计,发现/var/tmp里堆了三万多个转码缓存文件,清掉直接省出1.2T。
LVM玩家的高端操作
用LVM的同学应该养成看vgs和lvs的习惯。去年双十一前给某电商扩容,就是靠vgs发现VG组里还剩800G闲置PE,直接在线扩容了数据库分区。现在回想起来真是血赚——同样扩容1T空间,当时加盘成本是2400元,放现在得花3200元。
还有个 * 操作是用lsblk -f看块设备树。有次客户服务器报空间不足,df显示根分区满了,但lsblk发现有个20G的未挂载分区——估计是装机小哥手滑没配置,直接mount上就解了燃眉之急。

应急清理三板斧
遇到存储红色警报时,这三个地方总能刮出油水:
- /var/log:用
journalctl --vacuum-size=200M把系统日志压缩到可控范围 - docker存储:
docker system prune -af能清掉悬空镜像和停止的容器 - 老版本内核:
package-cleanup --oldkernels --count=2只保留最近两个内核
上周某游戏公司运营活动,临时需要50G空间放热更新包,就是靠清理docker缓存挤出来的。要知道现在企业级SSD每G成本已经涨到1.8元,这种操作相当于省了小一万。
监控还得上自动化
手动检查终归不是长久之计。建议把df -h的输出塞进Zabbix或Prometheus,设个80%的预警阈值。去年某政务云平台就是因为没监控,归档存储写爆导致服务中断,最后买了二十多块16T的氦气盘才填上窟窿——搁现在这批盘采购价得多花1.6万。
有条件的可以写个脚本自动清理过期文件,比如这样:
find /data/cache -type f -mtime +30 -exec rm -f {} \;
存储管理就像持家过日子,涨价时更得精打细算。从查看容量到清理扩容,每个环节都能省出真金白银。毕竟现在市面上企业级硬盘的报价单有效期都缩到24小时了,咱们运维能做的,就是在采购走完流程前,用手头现有资源扛得更久些。
说真的,现在打开硬盘报价系统需要勇气。希捷银河X20系列18T盘年初还是3800元,二月中旬已经报到4200元。在这种行情下,提前做好容量规划比啥都重要。建议大家建立定期巡检制度,把df -h写进每日 checklist。遇到必须扩容的情况,尽量选择垂直行业服务商,他们通常能拿到更稳定的渠道价和库存。毕竟在价格一天三变的时期,能找到今天下单明天就能到货的供应商,比单纯比价实在多了。