问题:为什么当我在上创建或删除文件时会同时进行磁盘读取和写入tmpfs
?
使用intmpfs
进行安装(添加到,运行,然后重新启动计算机以安装)。据我所知,文件内容存储在RAM中,文件inode/元数据也存储在RAM中mount -t tmpfs -o size=1G tmpfs "/SCRATCHSPACE"
/etc/rc.local
/etc/rc.local
mkdir /SCRATCHSPACE
tmpfs
用于文件创建、写入和删除的 Bash 脚本:
cd /SCRATCHSPACE
for i in {0..10000}; do echo foobar > $i; rm $i; done
或者
cd /SCRATCHSPACE
touch {0..10000} && rm {0..10000}
运行上述代码后,硬盘使用情况指示器立即启动。为了确保我不仅仅是想象它,我还使用:
grep -e Dirty: -e Writeback: /proc/meminfo
这与文件创建/删除相关。脏和写回从0 KB
到500 KB
一致地跳跃。如果我增加在 Bash 脚本中创建的文件数量,文件Dirty
数量会线性增加。要刷新写入(不必要),请运行sync
.当我运行 Bash 脚本(即使没有sync
)后等待时,我可以听到硬盘驱动器移动的声音
这在关闭交换的 Ubuntu 16.04 和 Ubuntu 20.04 上都可以重现
附加信息:
$ df -h /SCRATCHSPACE
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.0G 10M 1.0G 0% /SCRATCHSPACE
$ cat /proc/swaps
Filename Type Size Used Priority
$ cat /etc/fstab
UUID=<36 characters for UUID> / ext4 errors=remount-ro 0 1
UUID=<10 characters for UUID> /boot/efi vfat umask=0077 0 1
没有安装防病毒软件、记录器或任何类似的东西(仅安装 Ubuntu 附带的任何东西)
操作系统(16.04 和 20.04)是通过 live USB(全新安装)安装的。它没有从一个版本升级到另一版本