Cache

/var/cache 在臨時文件系統上

  • August 25, 2020

由於快閃記憶體退化問題,我想盡可能減少在無頭輕型 24/7 系統上不必要的磁碟寫入量。萬一這很重要,這是一個 Debian 風格的系統,但我認為這個問題可能與更廣泛的受眾相關。

為了實現這一點,除了預設值之外,我已經在使用tmpfs。在這一點上,通過使用各種工具(如fatrace )監控空閒IO活動,我發現在很長一段時間後,寫訪問次數最突出的目錄之一是,尤其是與man-db相關。請注意,我在這個系統中沒有自動包更新,所以我沒有收到任何關於 的寫入,但對於其他可能相關的內容。/tmp``/var/log``/var/cache``/var/cache/man``/var/cache/apt

問題是,如果使用tmpfs會不會造成任何麻煩/var/cache?在啟動時,我會用磁碟中的數據填充它,並可能不時將其重新同步回來*。*

當然,在某些系統上提高 RAM 使用率可能是一個問題,但如果您的意見對於某些使用記憶體的常見系統是否會出現問題、在早期啟動過程中缺少數據或一般情況下是否會出現問題,將會很有趣處於稍微過時的狀態(例如在崩潰之後)?

很酷的想法。出於這個原因,我安裝/var在磁驅動器上,但我喜歡這個。這是否可行是特定於應用程序的。

apt需要/var/cache/apt/存在還是會在需要時創建目錄 ?dpkg -S /var/cache/apt/告訴我這個目錄是在包安裝期間創建的。那麼如果該目錄不存在,會apt創建它嗎?會apt開始失敗嗎?這些問題的答案在於apt。您可以通過創建一個tmpfsfor來使這一點無效/var/cache/apt

雖然tmpfsfor/var/cache/apt可能適用於apt,但您必須對所有其他使用/var/cache/*. 我機器上的一些目錄是:apache2, fonts, gdm, cups, man, dictionaries-common app-info. 此外,無論何時安裝新軟體包,您都需要記住設置任何適用tmpfs於該軟體包的內容。這可能很難管理。

幸運的是,文件系統層次結構標準描述/var/cache為:

應用程序記憶體數據。由於耗時的 I/O 或計算,此類數據在本地生成。應用程序必須能夠重新生成或恢復數據。可以刪除記憶體的文件而不會失去數據。

所以我可能是錯的。應用程序可以通過在/var/cache需要時創建子目錄的方式來實現,因為標準要求它們這樣做。但是,如果有人不遵守該規定,這仍然是一種風險。

引用自:https://unix.stackexchange.com/questions/606065