我们的服务器运行正常,但是当备份或其他扫描进程运行时,它会占用整个服务器。 像clamd会运行并扫描许多文件。 虽然我们预计性能会下降,但它会导致我们的caching死机,最终的结果是我们没有一个可以做任何事情的系统。
有没有办法禁用单个命令的光盘/磁盘caching? 这个想法是这样运行的:
# ./nocache clamd
然后,在运行clamd时,不会在读取系统上的所有文件的同时冲击已启动的高速caching。
它必须在程序中实现。 如果clamd尚未执行此操作,则可以通过将函数添加到像posix_fadvise(... POSIX_FADV_NOREUSE) madvise(... MADV_DONTNEED)或madvise(... MADV_DONTNEED) (如果内存映射文件)来修改clamd以避免不必要的大量caching占用空间。 它仍然会将文件系统元数据从caching中移出。 关于这一点你可以做的不多。
它不是真正的答案,你正在寻找,但我们只是使用ionice进行备份和扫描,所以他们不会影响服务器上的其他程序。
ionice -c3 clamd