我试图理解这些东西。我有一台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
许多 Unix 发行版默认启用和使用/tmp
文件系统的分支或共享内存。根据您的发行版,您可以
tmpfs
使用/tmp
. 默认情况下,tmpfs
分区的最大大小设置为可用 RAM 的一半,但是可以否决该值并明确设置最大大小。在此示例中,要覆盖默认/tmp
挂载,请使用size
挂载选项:来源:https ://wiki.archlinux.org/index.php/tmpfs
好吧,它填充了它有限的交换区域。查看tmpfs 不会溢出到交换
这取决于
tmpfs
安装位置。但是所有tmpfs
s 都应该共享相同的内存,如果这就是你的意思的话。也许https://superuser.com/questions/45342/when-should-i-use-dev-shm-and-when-should-i-use-tmp: