Linux

tmpfs 使用和調整大小

  • January 27, 2021

我試圖理解這些東西。我有一台80G儲存的機器。它看起來像這樣:

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G  7.1G   43G  15% /
devtmpfs                 3.9G     0  3.9G   0% /dev
tmpfs                    3.9G  1.4M  3.9G   1% /dev/shm
tmpfs                    3.9G  409M  3.5G  11% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1                494M  125M  370M  26% /boot
/dev/mapper/centos-home   26G   23G  3.5G  87% /home
tmpfs                    782M     0  782M   0% /run/user/0

現在,從我讀到的 tmpfs 不佔用物理儲存,而是使用機器的虛擬記憶體。這是正確的嗎?它會以任何方式影響物理儲存嗎?

是否存在將 tmpfs 寫入物理儲存的現實情況?接下來,所有掛載的(/dev/sda1、/dev/sda1 等)目錄是否共享 tmpfs?或者他們每個人都有不同的?

另外,我嘗試調整 tmpfs 的大小。我做了:

mount -o remount,size=1G /dev/shm

重啟後又恢復到原來的大小。我改變了 /etc/fstab 這樣的:

tmpfs      /dev/shm      tmpfs   defaults,size=1G

進而:

mount -o remount /dev/shm

它成功了,但是在重新啟動時它又回到了原來的大小。我想我錯過了一些東西。

現在,從我讀到的內容tmpfs不佔用物理儲存,而是使用機器的虛擬記憶體。這是正確的嗎?

正確的。tmpfs顯示為已掛載的文件系統,但它儲存在易失性記憶體中,而不是持久儲存設備中。所以這可以回答你的其他問題。

實際上,您無法分配物理儲存,tmpfs因為它僅依賴於虛擬記憶體。儲存的所有tmpfs內容都是臨時的,因為不會在硬碟驅動器上創建任何文件。在記憶體不足的情況下,交換空間用作備份儲存。重新啟動時,所有內容都tmpfs將失去。

tmpfs許多 Unix 發行版預設啟用和使用/tmp文件系統的分支或共享記憶體。

根據您的發行版,您可以tmpfs使用/tmp. 預設情況下,tmpfs分區的最大大小設置為可用 RAM 的一半,但是可以否決該值並明確設置最大大小。在此範例中,要覆蓋預設/tmp掛載,請使用size掛載選項:

/etc/fstab
tmpfs   /tmp         tmpfs   nodev,nosuid,size=2G          0  0

來源:https ://wiki.archlinux.org/index.php/tmpfs

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