磁盘内存满了,删除了大文件不一会儿立马又满了
有时候会碰到内存满了,怎么解决
1、内存满了,先找出占用空间大的那个目录删除不常用的或无用的文件
#df -h
#du -sh *
#du -h --max-depth=1 /home
2、如果删除完后发现以下问题
#df -h 这个命令发现内存还是100%
#du -sh * 这个命令一步一步查下去并没发现大文件,或者大文件已经被删除
3、明明上面已经删除了大文件,为什么空间还是没有释放,这个时候不慌,没有释放空间无非就那么几个解决思路:
#df -i
这个时候发现原来是inode号用完了,处理如下:
#for i in /*; do echo $i; find $i | wc -l; done
#这个命令就是用来看那个目录下占用了大量的inode号
去到对应目录下删除临时文件和不用的文件即可
4、发现删除了大量的临时文件和不常用的文件,已经不报警了,但是没过多久又开始报警,说磁盘空间不足。一查发现原来又是inode耗尽了
#lsof |grep deleted
#kill -9 1004
#lsof | grep deleted | awk '{print $2}' 找进程号
#找出之前删除的文件,因为删除了他们,但是可能还占用着进程,比如日志持续输出的情况下就占用着进程,因此导致没有释放空间和inode,所有需要杀掉这些进程,杀进程请谨慎操作
5、发现下来了,此操作完成
6、重新回顾一下,如果是缓存没有释放,输入free -h 看看,若是cache/buff占用过高,请参考以下链接操作;
https://blog.csdn.net/weixin_45574151/article/details/113120735
当然很多时候不确定那些文件是否能删,做个备份在操作