Наш сервер работает прилично, но при запуске резервного копирования или других процессов сканирования весь сервер забивается. Что-то вроде clamd
будет запускать и сканировать множество файлов. Хотя мы ожидаем низкой производительности, это убивает наш кеш, и в конечном итоге мы не получаем систему, которая может что-либо делать.
Есть ли способ отключить кеширование диска / диска для одной команды? Идея заключалась бы в следующем:
# ./nocache clamd
Затем во время бега clamd
он не будет обрабатывать загруженный кэш при чтении всех файлов в системе.
Это не совсем тот ответ, который вы ищете, но мы просто используем ionice для резервного копирования и сканирования, чтобы они не влияли на другие программы на сервере.
ionice -c3 clamd
Это должно быть реализовано в самой программе. Если clamd
еще не делает этого, вы можете изменить clamd
чтобы избежать излишне большого объема кеша, добавляя вызовы таких функций, как posix_fadvise(... POSIX_FADV_NOREUSE)
или madvise(... MADV_DONTNEED)
(если он отображает файлы в памяти). Однако он по-прежнему будет выталкивать метаданные файловой системы из кеша. С этим ничего не поделаешь.