Linux硬盘占用检查
文章目录
起因
在整理PVE的Linux小鸡时候发现有一台打包机硬盘分配了40G,但使用率已经达到了88%。
虽然这台打包机主要打包node和rust、java项目,尤其前两个是我知道的磁盘占用大户,但本身我也没有几个项目在上边打包,按理不会占用30多G的空间。
解决步骤
先执行df -h查看磁盘使用情况,确实已经占用了比较多的磁盘空间
root@build:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/loop10 40G 35G 2.7G 93% /
none 492K 4.0K 488K 1% /dev
tmpfs 24G 0 24G 0% /dev/shm
tmpfs 9.4G 164K 9.4G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 24G 6.5M 24G 1% /tmp
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-journald.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/systemd-networkd.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/container-getty@2.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/container-getty@1.service
tmpfs 1.0M 0 1.0M 0% /run/credentials/console-getty.service
tmpfs 4.7G 20K 4.7G 1% /run/user/0
可以看到/根目录的使用率实际已经达到了93%,而且剩余空间只有2.7G。
然后执行以下命令输出磁盘占用的具体明细
echo "===== root ====="
du -xhd1 / 2>/dev/null | sort -h
echo "===== var ====="
du -xhd1 /var 2>/dev/null | sort -h
echo "===== root home ====="
du -xhd1 /root 2>/dev/null | sort -h
echo "===== largest files ====="
find / -xdev -type f -size +500M -printf '%s %p\n' 2>/dev/null \
| sort -nr \
| head -30 \
| numfmt --field=1 --to=iec
执行命令后输出的结果为:
===== root =====
4.0K /boot
4.0K /home
4.0K /media
4.0K /mnt
4.0K /srv
16K /lost+found
16K /opt
4.8M /etc
2.7G /usr
10G /var
22G /root
35G /
===== var =====
4.0K /var/local
4.0K /var/opt
12K /var/tmp
44K /var/mail
544K /var/spool
2.4M /var/backups
385M /var/cache
1.2G /var/log
8.6G /var/lib
10G /var
===== root home =====
4.0K /root/.m2
8.0K /root/rust-docker-base
8.0K /root/.vim
8.0K /root/wechat-jar
12K /root/book_env_backup
28K /root/.config
92K /root/.ssh
152K /root/protoc
188K /root/upx-5.0.0-amd64_linux
460K /root/.docker
648K /root/.tmux
2.2M /root/couxie-web
9.7M /root/tshark-test
36M /root/material
48M /root/.local
72M /root/exe
85M /root/.npm
214M /root/vitual
281M /root/clash-test
314M /root/reverse-tunnel-au92
346M /root/rathole
412M /root/jet-helper
523M /root/mihomo-rust
589M /root/couxie-jar
745M /root/server-rust
887M /root/changdu
1.3G /root/.cargo
1.4G /root/au92-blog
1.6G /root/.rustup
1.7G /root/csc_rust_service
2.2G /root/couxie-web-axum
2.4G /root/.cache
2.7G /root/rust
4.7G /root/book
22G /root
===== largest files =====
从结果中除了几个rust项目明显占用很大空间外,/var/log目录下的日志文件也占用了1.2G的空间。
先执行journalctl --vacuum-size=200M将日志限制一下,不要超过200M(酌情),然后修改vim /etc/systemd/journald.conf,永久限制日志大小:
SystemMaxUse=200M
SystemKeepFree=1G
修改完成后执行systemctl restart systemd-journald重启日志服务
除了日志文件外/var/lib目录也占用了8.6G的空间,因为这台机器会打包docker镜像文件给k3s服务器使用,所以执行docker builder prune -a清理docker构建缓存数据进一步释放磁盘空间。
效果
简单处理后释放了大概10G的空间。
相似文章
评论 · 0
文章作者 pengxiaochao
上次更新 2026-09-14
许可协议 不允许任何形式转载。
还没有评论,写下第一条吧。