我最近在FreeBSD服務器上的驅動器上用完了磁盤空間。我截斷了導致問題的文件,但運行df
時沒有看到反映出的變化。當我在分區上運行du -d0
時,它顯示正確的值。有沒有辦法強制這些信息被更新?什麼導致這裏的輸出有所不同?獲得`df`以顯示FreeBSD上的更新信息
0
A
回答
2
這可能集中在如何你截斷該文件。 杜和DF作爲this post on unix.com explains報告不同的事情。正因爲空間沒有使用並不一定意味着它是免費的...
-1
df --sync工作嗎?
3
在BSD一個目錄項僅僅是底層文件數據(稱爲一個inode)多次提到的一個。當使用rm(1)命令刪除文件時,只有引用計數減少。如果引用計數仍爲正數(例如,由於符號鏈接,文件具有其他目錄條目),則不會刪除底層文件數據。
較新的BSD用戶往往沒有意識到,有一個文件打開程序還拿着一個參考。在進程使用它時,可以防止底層文件數據消失。如果引用計數下降到零,進程關閉文件,則文件空間被標記爲可用。此方案用於避免Microsoft Windows類型的問題,因爲它不會讓您刪除文件,因爲某些未指定的程序仍會將其打開。
一個簡單的方法來觀察,這是做到以下幾點
cp /bin/cat /tmp/cat-test
/tmp/cat-test &
rm /tmp/cat-test
直到後臺進程被終止通過的/ tmp/CAT-測試中使用的文件空間仍保持分配和不可用所報告的DF(1 )但du(1)命令將無法解釋它,因爲它不再有文件名。
注意,如果該系統應不進程關閉文件崩潰則該文件的數據將仍然存在,但是未引用的,(8)的運行,將需要一個fsck的恢復文件系統空間。
將文件打開的過程是newsyslog(8)命令將信號發送到syslogd或其他日誌程序以通知它們應該關閉並重新打開日誌文件並將其旋轉後的一個原因。
Softupdates也可以實現文件系統可用空間作爲實際的inode空間恢復可被推遲;可以使用sync(8)命令來更快地發生這種情況。
相關問題
- 1. 如何獲得此ListActivity更新信息?
- 2. 重新加載html以顯示信息
- 3. Python/Django如何更新生成的PDF上顯示的信息
- 4. 更新屏幕/顯示屏上的數據信息
- 5. 從URL獲取MySQL ID以顯示頁面上的信息
- 6. dsym更多信息顯示 -
- 7. 更改oracle顯示信息
- 8. 在Jpanel上顯示信息
- 9. FreeBSD:網絡接口信息
- 10. 顯示信息
- 11. TFS 2015如何獲得兩個以上的變更集顯示
- 12. 獲得程序集上的信息
- 13. 顯示的信息
- 14. MingW上的G ++更新得到了大量的錯誤信息
- 15. 顯示更多信息(的onmouseover)
- 16. 捕獲顯示信息的例外
- 17. A型「信息」,以獲得從功能的更多結果
- 18. 哪裏可以獲得關於Java OpenStreetMap API的更多信息?
- 19. 顯示的提示信息
- 20. 的onClick行動,以顯示更多的信息,HTML,CSS,JavaScript的
- 21. 重定向鏈接不更新以獲取新信息
- 22. 如何初始化部分視圖以便獲取不同的信息顯示包含新信息的PartialViewResult?
- 23. PHP更新用戶帳戶的詳細信息沒有顯示錯誤,但帳戶詳細信息未更新
- 24. 如何異步更新顯示信息的標籤
- 25. Textbox不會立即顯示更新的數據庫信息
- 26. 更新1.6.0後顯示「Debugger is already active」的Firebug錯誤信息?
- 27. 顯示/更新派生信息的最佳方式?
- 28. 更新其他屏幕上的信息
- 29. 如何更新MKPinAnnotationView上的信息?
- 30. 更新Android上的聯繫信息