mat*_*isa 11 storage linux memory tmpfs
我试图理解这些东西。我有一台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
Run Code Online (Sandbox Code Playgroud)
现在,从我读到的 tmpfs 不占用物理存储,而是使用机器的虚拟内存。这是正确的吗?它是否以任何方式影响物理存储?
是否存在将 tmpfs 写入物理存储的现实?接下来,所有已安装的(/dev/sda1、/dev/sda1 等...)目录是否共享 tmpfs?或者他们每个人都会得到不同的?
另外,我尝试调整 tmpfs 的大小。我做了:
mount -o remount,size=1G /dev/shm
Run Code Online (Sandbox Code Playgroud)
重新启动后,它又回到了原来的大小。我像这样更改了 /etc/fstab:
tmpfs /dev/shm tmpfs defaults,size=1G
Run Code Online (Sandbox Code Playgroud)
进而:
mount -o remount /dev/shm
Run Code Online (Sandbox Code Playgroud)
它成功了,但在重新启动时它又恢复到原来的大小。我想我错过了一些东西。
现在,从我读到的内容来看,
tmpfs它不占用物理存储空间,而是使用机器的虚拟内存。这是正确的吗?
正确的。tmpfs显示为已挂载的文件系统,但它存储在易失性内存中,而不是永久存储设备中。所以这可以回答你的其他问题。
实际上,您无法分配物理存储,tmpfs因为它仅依赖于虚拟内存。存储在其中的所有内容tmpfs都是临时的,因为不会在硬盘驱动器上创建文件。在内存不足的情况下,交换空间用作后备存储。重新启动后,所有内容都tmpfs将丢失。
许多 Unix 发行版tmpfs默认启用和使用/tmp文件系统的分支或共享内存。
根据您的发行版,您可以tmpfs将/tmp. 默认情况下,tmpfs分区的最大大小设置为可用 RAM 的一半,但是可以否决此值并显式设置最大大小。在此示例中,要覆盖默认/tmp挂载,请使用size挂载选项:
/etc/fstab
tmpfs /tmp tmpfs nodev,nosuid,size=2G 0 0
Run Code Online (Sandbox Code Playgroud)
来源:https : //wiki.archlinux.org/index.php/tmpfs