想要將 Flask 專案中 static/passw_lib
目錄綁定(mount)到 RAM Disk /mnt/ramdisk
,這樣可以提升存取效能並保護 SSD。
以下提供兩種常見方法來實現這個綁定:
✅ 方法一:使用 Linux mount --bind
(不改動 Flask 原始碼)
步驟 1:先建立 RAM Disk(若尚未建立)
步驟 2:在 RAM Disk 中建立對應資料夾
步驟 3:使用 mount --bind
把它綁定到 Flask 專案的 static 目錄
假設你的 Flask 專案結構如下:
執行指令:
📌 注意:/path/to/your_project/
請替換成你實際的 Flask 專案路徑!
驗證:
你會看到類似:
🧠 小提醒:
-
如果你想要開機自動掛載,可以在
/etc/fstab
加入: -
若 Flask 專案中程式會存取
static/passw_lib
,那麼一旦綁定後,操作的實體資料其實都會進到/mnt/ramdisk/passw_lib
,不會寫入 SSD,非常適合用來儲存:-
動態產生圖片 / 檔案
-
快速緩存 / 模型暫存檔
-
預覽用的轉檔資料等
-
🚀 Bonus:自動化腳本
你也可以寫一個簡易的開機自動掛載腳本:
加上 chmod +x
讓它開機執行即可。
🧹 解除 mount --bind 綁定
假設你之前執行的是這樣的綁定:
那解除方式是:
這會將 /mnt/ramdisk/passw_lib
與專案中的 static/passw_lib
解除綁定。解除後,static/passw_lib
回復為原本的目錄(如果有的話)。
🔄 如果你也想釋放 RAM Disk 空間(可選)
若你不只要解除綁定,還想釋放整個 /mnt/ramdisk
RAM 空間:
1. 先解除子目錄綁定(例如 passw_lib
):
2. 再解除整個 /mnt/ramdisk
的 tmpfs 掛載:
📌 小提醒:
-
如果你在
/etc/fstab
中設定了自動掛載(或mount --bind
),也要記得手動移除那一行,否則下次開機會再掛載。 -
若目錄正在被存取(例如被程式或終端佔用),
umount
可能會失敗,可用lsof
查詢誰在使用:
沒有留言:
張貼留言