Linux 磁盘空间满了,但是实际目录文件占用空间并没有那么大
查看磁盘占用空间命令
df -h
查看对应目录占用磁盘大小
du -ah --max-depth=1
见另一篇文章:
https://blog.csdn.net/zf766045962/article/details/81450193
查看文件删除进程还活着,导致空间不释放
lsof |grep delete
1、删除进程
kill掉相应的进程即可
或者
kill -9 `lsof | grep delete | awk '{print $2}'`
注意注意
删除进程存在一种风险,就是现有服务的进程会被杀掉,最好把所有服务的进程重启一遍。
参考地址:https://www.cnblogs.com/m2492565210/p/10404606.html
新公司的测试机磁盘空间空余很小,日志很多,也很大,做个日志压缩脚本,在夜里4:30自动运行,第二天后发现磁盘空间又满了,只好删除没用的日志,清空空间,可诡异的是怎么删除没用的文件,空间还是占用很大。如图
用du 根目录下,发现这些文件加一块也达不到占用的空间大小。如图
我也有遇见过此类问题,一般都是重启完事,因为磁盘坏道损坏有可能导致此问题。
或 DF -i 查看inode使用率,inode不够用也会导致此问题。可看了inode也够用。
如图
这次我度娘了一下,”磁盘空间没释放“,按一篇文章干,解决了此问题。
记录如下:
昨天协助同事搞定了一起磁盘空间被”无形”占用的疑难杂症,简要记录以备忘.
1、用df 检查发现/根目录可用空间为0
[root@/]#df -h
2、用du检查发现各目录占用的空间都很少,有约3G的空间莫名其妙地丢了.
[root@/]# du -m --max-depth=1 |sort -gr
3、用lsof检查后才发现原因是,有文件被删除,而进程还活着,因而造成还占用空间的现象
[root@/]# lsof |grep delete
根据lsof列出的进程号,kill这些进程后,空间就释放出来了