基本介紹
- 外文名:tmpfs
- 含義:一種基於記憶體的檔案系統
- 特色:tmpfs是最好的基於RAM的檔案系統
- 優勢:自動調整動態檔案系統,速度快
虛擬記憶體,優勢,使用,
虛擬記憶體
Linux核心的虛擬記憶體資源同時來源於您的RAM和交換分區。核心中的VM子系統將這些資源分配到系統中的其它部分,並負責在後台管理這些資源,通常是透明地將RAM頁移動到交換分區或從交換分區到RAM頁。
tmpfs檔案系統需要VM子系統的頁面來存儲檔案。tmpfs自己並不知道這些頁面是在交換分區還是在RAM中;做這種決定是VM子系統的工作。tmpfs檔案系統所知道的就是它正在使用某種形式的虛擬記憶體。
不同於大多數“標準的”檔案系統,如ext3、ReiserFS和其它一些系統,tmpfs並不是存在於一個底層塊設備上面。因為tmpfs是直接建立在VM之上的,您用一個簡單的mount命令就可以創建tmpfs檔案系統了。
# mount tmpfs /mnt/tmpfs -t 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檔案系統,鍵入:
# mount tmpfs /dev/shm -t tmpfs -o size=32m
添加到 /etc/fstab,應該是這樣:
tmpfs /dev/shm tmpfs size=32m 0 0 通過命令mount -t ramfs none /tmp,所有/tmp目錄下的寫入其實都寫在記憶體中。ramfs檔案系統並不知道臨時檔案系統的可用記憶體數量該如何限制。 要為/tmp目錄設定指定數量記憶體,使用命令mount -t tmpfs -o size=1g none /tmp。這條命令將分配給/tmp目錄1G記憶體空間。選擇tmpsfs可以讓管理員通過命令df –h來查看檔案空間使用情況,這樣可以避免/tmp寫入超過1G的內容。 記憶體檔案系統同樣可以在伺服器重啟後自動掛載。在/etc/fstab檔案中加入如下配置:none /tmp ramfs size=1g 0 0 在/etc/fstab中,第一列指明了需要被掛載的設備名。因為沒有涉及到真實設備,所以在此列將其配置為none。接下來的兩列為指定掛在目錄與被掛載的檔案系統類型,在本例中配置被掛載目錄為/tmp,檔案系統類型為ramfs。需要為記憶體檔案設定容量參數;在本例中將其設定為1G。因為檔案系統並不存在於磁碟上,所以最後兩列只需配置參數為0。