Исправление высокой нагрузки на сервер и потребления памяти и процессора для clamd (ClamAV)

Оптимизация ClamAV на серверах DirectAdmin

Если ваши серверы DirectAdmin испытывают высокую нагрузку из-за процесса clamd, вы можете заметить, что он постоянно находится на верхних позициях в выводе команды top. Хотя ClamAV изначально не поддерживает ограничения использования памяти и ЦП через свои конфигурационные файлы, мы можем управлять использованием ресурсов, изменяя скрипт запуска clamd.

Понимание проблемы

ClamAV - это важный антивирусный инструмент, но его ресурсоемкость иногда может приводить к проблемам с производительностью на загруженных серверах. Внедряя ограничения ресурсов, мы можем обеспечить продолжение защиты ClamAV без перегрузки системы.

Решение: Изменение скрипта запуска ClamAV

Для CloudLinux 8.7 и подобных систем выполните следующие шаги для оптимизации ClamAV:

1. Отредактируйте скрипт запуска ClamAV

Откройте скрипт запуска ClamAV с помощью текстового редактора:

sudo nano /etc/systemd/system/clamd.service

2. Добавьте ограничения ресурсов

Добавьте следующие строки для установки ограничений ресурсов. Отрегулируйте значения в соответствии с возможностями и требованиями вашего сервера:

IOSchedulingPriority=7
CPUSchedulingPolicy=5
MemoryLimit=1024M
CPUQuota=30%
Nice=19

Вот что делает каждая настройка:

  • IOSchedulingPriority: Устанавливает приоритет ввода/вывода (0-7, чем ниже, тем выше приоритет)
  • CPUSchedulingPolicy: Устанавливает политику планирования ЦП (0-6, 5 - простаивающий)
  • MemoryLimit: Устанавливает максимальное использование памяти
  • CPUQuota: Ограничивает процент использования ЦП
  • Nice: Устанавливает приоритет процесса (от -20 до 19, чем выше, тем ниже приоритет)

3. Пример обновленного скрипта запуска

Ваш измененный скрипт запуска должен выглядеть примерно так:

[Unit]
Description=Generic clamav scanner daemon
After=syslog.target nss-lookup.target network.target

[Service]
Type=simple
ExecStartPre=-/bin/mkdir -p /var/run/clamd
ExecStartPre=-/bin/chown -R clamav:clamav /var/run/clamd
ExecStart=/usr/local/sbin/clamd --foreground=yes
Restart=on-failure
PrivateTmp=true
IOSchedulingPriority=7
CPUSchedulingPolicy=5
MemoryLimit=1024M
CPUQuota=30%
Nice=19

[Install]
WantedBy=multi-user.target

4. Применение изменений

После изменения скрипта перезагрузите демон systemd, чтобы применить изменения:

sudo systemctl daemon-reload
sudo systemctl restart clamd

Мониторинг и тонкая настройка

После внедрения этих изменений следите за производительностью вашего сервера. Возможно, вам потребуется настроить значения, чтобы найти правильный баланс между эффективностью ClamAV и производительностью сервера. Используйте такие инструменты, как top, htop или панель мониторинга вашего сервера, чтобы наблюдать за влиянием изменений.

Дополнительные соображения

  • Регулярно обновляйте ClamAV, чтобы убедиться, что у вас есть последние оптимизации и определения безопасности.
  • Рассмотрите возможность планирования сканирований ClamAV в часы наименьшей нагрузки, чтобы минимизировать влияние на производительность сервера.
  • Если проблемы сохраняются, проконсультируйтесь с вашим хостинг-провайдером или рассмотрите возможность увеличения ресурсов сервера.

Внедрив эти оптимизации, вы должны увидеть улучшение общей производительности сервера при сохранении преимуществ безопасности ClamAV на ваших серверах DirectAdmin.

  • 332 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

How to protect your .htaccess file?

For security purposes, we recommend you to prevent access to your .htaccess file from...

Блокировка IP-адреса в вашем файле .htaccess

Если вы подозреваете злонамеренную деятельность или попытки несанкционированного доступа на вашем...

Как отключить просмотр каталогов с помощью .htaccess?

Для целей безопасности рекомендуем отключить просмотр директорий на вашем сайте, чтобы никто не...

Как ограничить доступ к папке по IP-адресу?

Для обеспечения безопасности вашей административной области от хакеров, мы рекомендуем разрешить...

Настройка SSH-ключей на Debian/Ubuntu

SSH-ключи обеспечивают безопасный способ входа на ваш Linux-сервер без использования...