【linux命令】Linux删除大文件或占用磁盘的大量文件以后未释放磁盘空间处理排查步骤与处理办法

内容摘要
云海天教程原创,转载请注明出处。
之前也遇到过几次linux系统磁盘满的情况,一直没有记录,这次记录一下。 之前遇到过线上的服务器磁盘满的情况,我们习惯性的会查找该磁盘下比较
文章正文

云海天教程原创,转载请注明出处。

之前也遇到过几次linux系统磁盘满的情况,一直没有记录,这次记录一下。 之前遇到过线上的服务器磁盘满的情况,我们习惯性的会查找该磁盘下比较大的文件,然后找出来该删除的删除,该转移的转移,该升级磁盘的升级磁盘,该压缩的压缩等等解决方案。
常见磁盘满的原因有很多,最常见的无非是一些日志文件或线上数据增多导致磁盘满,尤其是日志文件导致过多导致。比如我们以日志文件过多导致磁盘满了, 我们查到以后进行删除,但是我们发现删除以后磁盘的大小依旧是100%。原因:删除以后文件以后,进程还一直运行导致没有被释放。

[[email protected] ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root  6.7G  1.1G  5.3G  17% /
tmpfs                         246M   12K  246M   1% /dev/shm
/dev/vda1                     485M   485M  0   100% /home

处理办法:我们需要使用lsof |grep deleted 找到对应的进程删掉或重启对应服务即可。

[[email protected]~]# lsof | grep deleted
mysqld    1257   mysql    5u      REG              253,0        0       5215 /home/log/nginx-20160822.log (deleted)
mysqld    1257   mysql    6u      REG              253,0        0       5219 /home/log/nginx-20160823.log (deleted)
mysqld    1257   mysql    7u      REG              253,0        0       5221 /home/log/nginx-20160824.log (deleted)
mysqld    1257   mysql    8u      REG              253,0        0       5223 /home/log/nginx-20160825.log (deleted)
mysqld    1257   mysql   12u      REG              253,0        0       5255 /home/log/nginx-20160826.log (deleted)
salt-mini 1354    root    6w      REG              253,0     1699     263760 /var/log/salt/minion-20160828 (deleted)

 

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!