Linux df和du命令查出來的已使用空間不同如何解決?
有用戶登錄到Linux系統(tǒng)服務(wù)器上查看的時候,竟然發(fā)現(xiàn)df和du查出來的結(jié)果不一樣,du查出來的“實際使用空間”明顯比df查出來的已使用空間要小很多,這是究竟是怎么一回事呢?難道有些空間被隱藏起來了?下面來說一下df和du命令查出來的已使用空間不同的解決方法。
方法如下:
首先,我們用df來查看已使用空間:

從上圖可知,根分區(qū)已使用5456700KB(合約5.20GB)。
然后,我們用du查出根分區(qū)下每個目錄的大小:

排除紅框中的兩個目錄(因為他們是掛載上去的),所有目錄的總大小為3075332KB(合約2.93GB),比df查出來足足小了2.27GB。
為什么會少了這么多空間呢?
其實是因為我們之前刪除了一些進程正在寫入的文件,雖然已經(jīng)被我們刪除了,但只要進程還在,那個文件就不會被真正地刪除,只是被臨時存放到系統(tǒng)的某個地方而已,有點類似于Windows的回收站。
想解決這個問題,最簡單地就是重啟服務(wù)器了,但是生產(chǎn)環(huán)境一般都不會輕易重啟的,所以我們可以通過其他方式來解決。
先用lsof命令配合grep命令查出哪些是已經(jīng)被刪除,卻依舊占用系統(tǒng)空間的“無賴”。

上圖紅框中的文件正是我之前刪除的一個大文件,我現(xiàn)在嘗試去重啟這個程序(node),我直接kill掉這個進程,因為我做了自動啟動,所以我不用手動去啟動它。

已使用空間一下子下降到3226324KB(合約3.08GB),已經(jīng)很接近du統(tǒng)計的總空間了。
接下來,我逐個重啟了其他deleted的文件,最終df查出來的大小就和du統(tǒng)計的總空間差不多大了。
到此,就解決了df和du查出來的結(jié)果不同的文件,趕走了系統(tǒng)里的“無賴”,索回屬于我們的空間。
df和du命令查出來的已使用空間不同的解決方法就說到這里了,如你們也有此問題的可以按照上述的步驟去操作,從而解決問題。
相關(guān)文章:
1. 怎么用PE安裝win11系統(tǒng)?教你用U盤安裝Win11 PE系統(tǒng)教程2. 在dos環(huán)境下怎么備份/恢復(fù)注冊表 在dos環(huán)境下備份注冊表的方法教程3. 修改注冊表顯示被病毒惡意隱藏文件4. 利用WinPE修改原系統(tǒng)注冊表來修復(fù)系統(tǒng)5. 如何用u盤安裝win11系統(tǒng)?教你用u盤安裝win11系統(tǒng)教程6. 裝機大師怎么重裝系統(tǒng)WIN7 裝機大師一鍵重裝系統(tǒng)步驟教程7. win10系統(tǒng)始終以管理員身份運行如何設(shè)置8. 微軟 Win11 首個 Canary 預(yù)覽版 25314 推送 附更新內(nèi)容和升級方法9. Windows10如何給新電腦分區(qū)?Win10快速分區(qū)教程10. Win11系統(tǒng)安裝不了SolidWorks怎么解決?Win11不能安裝SolidWorks解決辦法
