起源
我需要为我的 GDB 帮助程序脚本实现一些功能,但我必须坚持使用旧版本的 GDB(在本例中为 5.3)。由于旧版本缺乏如此多的功能,我需要通过将一些字符串重定向到文件然后将source
它们重定向到文件来解决所需的功能。
问题
我不想将大量临时文件写入/tmp
.
假设
由于我的/tmp
文件夹是用 挂载的tmpfs
,我假设它实际上放置在 RAM 上,并且在填充时被交换到交换区域:
$ mount | grep /tmp
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime,size=524288k)
问题
我能否保证我写入的任何小文件(最多 30 个字符长的字符串)/tmp
(我几乎会立即删除)在其生命周期中仅存在于 RAM 中,并且不会进入硬盘,即使频率高达每秒写入 100 次?
答案1
使用类似swapoff --all
(swapoff
手册页),将保证tmpfs
永远不会到达您的磁盘存储。
在之前的内核中6.4
,没有其他方法可以强制它,除非你修补内核模块。
在内核版本中,添加了6.4
该选项。noswap
内核文档笔记:
noswap
:禁用交换。重新安装必须尊重原始设置。默认情况下启用交换。