新公司的測試機磁盤空間空餘很小,日誌不少,也很大,作個日誌壓縮腳本,在夜裏4:30自動運行,次日後發現磁盤空間又滿了,只好刪除沒用的日誌,清空空間,可詭異的是怎麼刪除沒用的文件,空間仍是佔用很大。如圖node
用du 根目錄下,發現這些文件加一塊也達不到佔用的空間大小。如圖linux
我也有碰見過此類問題,通常都是重啓完事,由於磁盤壞道損壞有可能致使此問題。segmentfault
或 DF -i 查看inode使用率,inode不夠用也會致使此問題。可看了inode也夠用。windows
如圖測試
此次我度娘了一下,」磁盤空間沒釋放「,按一篇文章幹,解決了此問題。spa
記錄以下:日誌
昨天協助同事搞定了一塊兒磁盤空間被」無形」佔用的疑難雜症,簡要記錄以備忘.blog
一、用df 檢查發現/根目錄可用空間爲0進程
[root@/]#df -hget
二、用du檢查發現各目錄佔用的空間都不多,有約3G的空間莫名其妙地丟了.
[root@/]# du -m –max-depth=1 |sort -gr
三、用lsof檢查後才發現緣由是,有文件被刪除,而進程還活着,於是形成還佔用空間的現象
[root@/]# lsof |grep delete
根據lsof列出的進程號,kill這些進程後,空間就釋放出來了.
本文出自 「想飛卻飛不高的豬」 博客,請務必保留此出處http://2483526.blog.51cto.com/2473526/798379
linux裏的文件被刪除後,空間沒有被釋放是由於在Linux系統中,經過rm或者文件管理器刪除文件將會從文件系統的目錄結構上解除連接(unlink).然而若是文件是被打開的(有一個進程正在使用),那麼進程將仍然能夠讀取該文件,磁盤空間也一直被佔用。
態爲deleted爲標記被刪除,其實該文件並無從磁盤中刪除,相似windows下的回收站狀態。
據稱當有其餘進程打開某文件時文件被刪除,就會將該文件標記爲deleted,並刪除其目錄節點。使用du查看時,由於沒有該刪除狀態文件的節點信息,因此就不作統計,從而致使與df的結果不一致。
若要將deleted狀態文件刪除,則根據pid直接kill調相應進程便可。
找回被刪除文件:
使用lsof處理文件恢復、句柄以及空間釋放問題 - yexiaoxiaobai - SegmentFaulthttps://segmentfault.com/a/1190000000461077