我们在生产 Web 服务器上有一个 cronned 作业,需要将文件系统中的文件打包成 tar 文件。它运行大约 105 分钟,在此期间,Apache 开始交换,因为读取几 GB 的文件会扩大文件系统缓存的内存量。
tar 正在读取的数据不需要存在于文件系统缓存中。它将进入 tarfile,仅此而已。有什么我们可以说的吗tar cvf whatever/ --no-system-file-buffer-reads
?我的阅读man tar
没有发现任何看起来有帮助的东西。
您不必指出,这可以看作是“医生,我这样做会很疼!所以不要这样做”的情况。我们需要以某种方式将文件转储到 tar 文件中,因此不这样做不是一个选择。