创建一个缓存文件,该文件将在LIBC(所有文件系统)或EXT4中几乎完整时自动删除



编写需要在磁盘上缓存数据的软件时,是否有libc中有一种方法,或者是特定于某个文件系统(例如ext4)的方式,以创建文件并将其标记为适合自动删除(由内核),如果分区几乎已满?

内存页面类似: madvise(…, MADV_FREE)

某些系统通过编写一个监视分区丰满度的守护程序来实现这一目标,并在超过一定的填充水平后手动删除某些预定的路径。如果可能的话,我想避免这种情况,因为它不是很可扩展的:每个应用程序都必须在创建新的高速缓存路径的守护程序中通知守护程序,这可能经常。如果是内核,则可以在每个inode上保存一个标志,指示它是否是缓存文件。

拥有标准化的守护程序也是可以接受的。目前,似乎不同的主要系统集成商都发明了自己的。

您可以使用crontab作业,并查找特定的文件扩展名并将其删除。您甚至可以根据时间过滤并留下在最后N分钟内创建的文件。如果您可以这样做,请告诉我,我将在此处添加更多详细信息。

最新更新