内核临时文件系统介绍及使用。
临时文件系统将所有的文件保存在虚拟内存中,卸载tmpfs实例后,文件系统中的内容全部丢失。
tmpfs将所有内容放在内核caches中,自动增长或缩减以适应所包含的文件,而且可以将不需要的也交换到swap空间。文件系统最大上限可以通过remout调整。
tmpfs是以ramfs为模板创建的,区别在于增加了swapping和上限检查。另一个类似的设备是内存盘(RAM disk,/dev/ram*),它在物理内存上模拟固定大小的硬盘,可以在上面创建普通文件系统。内存盘不能swap,也不能更改大小。
tmpfs /dev/shm tmpfs defaults 0 0
mount -t tmpfs -o size=10G,nr_inodes=10k,mode=700 tmpfs /mytmpfs
NodeList的格式
mpol=bind:0-3,5,7,9-15
通过/sys/kernel/mm/transparent_hugepage/shmem_enabled设置:
root@dlw:dlworld# mount -t tmpfs -o size=5G tmpfs /home/dlworld/tmp
root@dlw:dlworld# df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 7.7G 0 7.7G 0% /dev
tmpfs 1.6G 162M 1.4G 11% /run
/dev/sdc4 184G 156G 19G 90% /
tmpfs 7.8G 372M 7.4G 5% /dev/shm
tmpfs 5G 0 5G 0% /home/dlworld/tmp
默认大小为物理内存的一半。
root@dlw:dlworld# free -g
total used free shared buff/cache available
Mem: 15 7 6 1 1 6
Swap: 0 0 0
root@dlw:dlworld# dd if=/dev/zero of=/home/dlworld/tmp/5g bs=1G count=5
5368709120 bytes (5.4 GB, 5.0 GiB) copied, 2.20169 s, 2.4 GB/s
root@dlw:dlworld# free -g
total used free shared buff/cache available
Mem: 15 7 1 6 6 1
Swap: 0 0 0
写入的数据占用cache空间。
root@dlw:dlworld# dd if=/dev/zero of=/home/swap.img bs=1G count=4
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 48.888 s, 87.9 MB/s
root@dlw:dlworld# mkswap /home/swap.img
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
无标签, UUID=e43ee8e3-b6bf-491a-b817-1b08901ae6a8
root@dlw:dlworld# swapon /home/swap.img
swapon: /home/swap.img:不安全的权限 0644,建议使用 0600。
root@dlw:dlworld# free -g
total used free shared buff/cache available
Mem: 15 7 1 6 6 1
Swap: 3 0 3
[root@vdi22 ~]# dd if=/dev/zero of=/root/mytmpfs/t1 bs=1G count=1
dd: 写入"/root/mytmpfs/t1" 出错: 设备上没有空间
root@dlw:dlworld# mount -t tmpfs -o remount,size=20G tmpfs /home/dlworld/tmp
root@dlw:dlworld# df -h
文件系统 容量 已用 可用 已用% 挂载点
tmpfs 20G 5.0G 15G 25% /home/dlworld/tmp
root@dlw:dlworld# dd if=/dev/zero of=/home/dlworld/tmp/2g bs=1G count=2
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 16.2725 s, 132 MB/s
root@dlw:dlworld# free -g
total used free shared buff/cache available
Mem: 15 7 1 6 6 1
Swap: 3 1 2
root@dlw:dlworld# umount /home/dlworld/tmp
root@dlw:dlworld# free -g
total used free shared buff/cache available
Mem: 15 6 7 0 1 7
Swap: 3 0 3