虛擬記憶體
Linux核心的虛擬記憶體資源同時來源於您的RAM和交換分區。核心中的VM子系統將這些資源分配到系統中的其它部分,並負責在後台管理這些資源,通常是透明地將RAM頁移動到交換分區或從交換分區到RAM頁。
tmpfs檔案系統需要VM子系統的頁面來存儲檔案。tmpfs自己並不知道這些頁面是在交換分區還是在RAM中;做這種決定是VM子系統的工作。tmpfs檔案系統所知道的就是它正在使用某種形式的虛擬記憶體。
不同於大多數“標準的”檔案系統,如ext3、ReiserFS和其它一些系統,tmpfs並不是存在於一個底層塊設備上面。因為tmpfs是直接建立在VM之上的,您用一個簡單的mount命令就可以創建tmpfs檔案系統了。
優勢
動態檔案系統大小
/mnt/tmpfs最初會只有很小的空間,但隨著檔案的複製和創建,tmpfs檔案系統驅動程式會分配更多的 VM,並按照需求動態地增加檔案系統的空間。而且,當 /mnt/tmpfs 中的檔案被刪除時,tmpfs 檔案系統驅動程式會動態地減小檔案系統並釋放 VM 資源,這樣做可以將 VM 返回到循環當中以供系統中其它部分按需要使用。因為 VM 是寶貴的資源,所以您一定不希望任何東西浪費超出它實際所需的 VM,tmpfs 的好處之一就在於這些都是自動處理的。
速度快
tmpfs 的另一個主要的好處是它閃電般的速度。因為典型的 tmpfs 檔案系統會完全駐留在 RAM 中,讀寫幾乎可以是瞬間的。即使用了一些交換分區,性能仍然是卓越的,當更多空閒的 VM 資源可以使用時,這部分 tmpfs 檔案系統會被移動到 RAM 中去。讓 VM 子系統自動地移動部分 tmpfs 檔案系統到交換分區實際上對性能上是好的,因為這樣做可以讓 VM 子系統為需要 RAM 的進程釋放空間。這一點連同它動態調整大小的能力,比選擇使用傳統的 RAM 磁碟可以讓作業系統有好得多的整體性能和靈活性。
使用
默認情況下,tmpfs會mount到/dev/shm目錄。使用tmpfs,就是說你可以使用這個目錄,這個目錄就是tmpfs,如你寫臨時檔案到此目錄,這些檔案實際上是在VM中。
要使用tmpfs,您要在核心配置時,啟用“Virtual memory file system support”。
為防止tmpfs使用了全部VM,有時候要限制其大小。要創建一個最大為32 MB的tmpfs檔案系統,鍵入:
添加到 /etc/fstab,應該是這樣: