linux删除文件未释放空间问题处理

释放Linux磁盘空间的一种方法


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这些进程后,空间就释放出来了。


linux删除文件未释放空间问题处理



另外不想重启在线的服务,可以这样操作:


root@ip-14-17-108-243:/# lsof |grep delete

java 64975 root 1uREG8, 2 22855206396133602  /tmp/tmpfqQeoi1  (deleted)


# ls /proc/64975/fd/ -lh
total 0
lr-x------ 1 root root 64 Nov 19 18:11 0 -> /dev/null
lrwx------ 1 root root 64 Nov 19 18:11 1 -> /tmp/tmpfqQeoi1 (deleted)
lrwx------ 1 root root 64 Nov 19 18:11 20 -> socket:[29968498]
lrwx------ 1 root root 64 Nov 19 18:11 21 -> socket:[29972951]
 
然后,用一个空字符去覆盖。
echo > /proc/64975/fd/1
在查看的话,空间就被释放了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章