這篇文章主要講解了“l(fā)inux怎么找出已經(jīng)刪除但磁盤空間未釋放的大文件并清空”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux怎么找出已經(jīng)刪除但磁盤空間未釋放的大文件并清空”吧!
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供清流網(wǎng)站建設(shè)、清流做網(wǎng)站、清流網(wǎng)站設(shè)計、清流網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、清流企業(yè)網(wǎng)站模板建站服務(wù),十余年清流做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
linux找出已經(jīng)刪除但磁盤空間未釋放的大文件并清空
1、找出已經(jīng)刪除但磁盤空間未釋放的文件 如果文件已經(jīng)刪除,但實際的磁盤空間未釋放,這個時候文件句柄fd相關(guān)信息還在內(nèi)存中,可以通過lsof命令找出,比如打開文件的pid和讀寫文件的系統(tǒng)fd。
lsof |grep -i delete java 20302 5351 hbase 3w REG 253,1 25778031203 43040 /var/log/hbase/gc.log-201812251535 (deleted) java 20302 5354 hbase 3w REG 253,1 25778031203 43040 /var/log/hbase/gc.log-201812251535 (deleted) java 20302 5988 hbase 3w REG 253,1 25778031203 43040 /var/log/hbase/gc.log-201812251535 (deleted) java 20302 12680 hbase 3w REG 253,1 25778031203 43040 /var/log/hbase/gc.log-201812251535 (deleted) java 20302 15047 hbase 3w REG 253,1 25778031203 43040 /var/log/hbase/gc.log-201812251535 (deleted) java 20302 16379 hbase 3w REG 253,1 25778031203 43040 /var/log/hbase/gc.log-201812251535 (deleted) java 20302 16380 hbase 3w REG 253,1 25778031203 43040 /var/log/hbase/gc.log-201812251535 (deleted)
2、如何清空已經(jīng)刪除但未釋放的大文件 如果要讓大文件徹底刪除,通常需要重啟打開文件的進(jìn)程,但是有時在線服務(wù)不方便重啟,影響服務(wù)的可用性。 這個時候可以通過/proc/${pid}/fd 信息找到打開這個文件的系統(tǒng)fd,然后通過fd來清空文件,
# ll /proc/20302/fd/ |grep 201812251535 l-wx------ 1 hbase hadoop 64 Oct 18 21:02 3 -> /var/log/hbase/gc.log-201812251535 (deleted)
清空文件
echo > /proc/20302/fd/3
感謝各位的閱讀,以上就是“l(fā)inux怎么找出已經(jīng)刪除但磁盤空間未釋放的大文件并清空”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對linux怎么找出已經(jīng)刪除但磁盤空間未釋放的大文件并清空這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!