Linux - SD 壽命寫入控制

5 月 20, 2021

--

為了控制 SD 卡寫入次數限制達到最佳使用壽命,所以 Hoyo 先將自己開發的程式另外一個分割區,再把原系統分割區設定為唯讀,只要確定程式分割區所有的寫入動作皆在預想之下,如此就可以達到目的。

--

得知最近有被寫入的檔案

使用前記得校時

找出最近一個小時內有被寫入的檔案

  • -mtime 檔案有修改,單位:天
  • -mmin 檔案有修改,單位:分鐘

修正後

加上 2>/dev/null 將沒有權限的訊息隱藏

--

記憶體檔案

為什麼要排除 /proc /run /sys ? 首先可以看一下 df 資訊

可以知道系統預設掛載了很多 tmpfs 也就是使用記憶體的路徑,除了記憶體之外也有很多虛擬的檔案資訊,例如 /proc /sys ,這些路徑當然也是要排除

--

資料庫

原先使用 SQLite,使用前先將檔案複製到記憶體再從記憶體存取,當需要異動資料時再從記憶體複製到 SD 卡,這樣從邏輯也是控制了寫入,不過後來遇到頻繁遇到資料庫毀損以及最嚴重的 database disk image is malformed 問題,就改成使用 JSON 當作資料的儲存載體,當然需要犧牲一些系統功能,不過在這種應用穩定以及將問題可控制才是最重要的

(後來找到了 TinyDB 這種好像也是使用 JSON 為載體的資料儲存方式)

--

 1,063 total views,  4 views today

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。