Назад | Перейти на главную страницу

Сервер очень медленный, ОЗУ и своп используются на 100%, проблема с ClamAV?

Мой сервер Ubuntu 10.04 не работает с сегодняшнего утра. Когда я перезапускаю его, я могу использовать его в течение нескольких минут, после чего ОЗУ и своп заполняются, а SSH не отвечает. Похоже, ClamAV - часть проблемы. Как мне это остановить? clamd stop не сработал.
И в более глобальном плане, как я могу остановить все почтовые службы?

ОБНОВЛЕНИЕ: я не думаю, что файлы журналов больше нужны.

ОБНОВЛЕНИЕ 2:

wpc2617:~# free -m
                total    used    free  shared    buffers     cached
Mem:           875     868       7       0          0         12
-/+ buffers/cache:     855      20
Swap:          976     867     108
wpc2617:~# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1 31 971132   8076    696  18988  311 1300  2915  1309  244  200  9  2 11 77

Несколько комментариев и то, что вы можете проверить:

  • Я не вижу ничего явно неправильного в опубликованном вами журнале. Что заставляет вас думать, что последняя строка журнала является проблемой?
  • Почти 100% -ное использование ОЗУ - это вообще хорошо. Однако чего вы не хотите, так это начать использовать пространство подкачки, которое довольно быстро снизит производительность вашего сервера и может стать проблемой. Использовать top и убедитесь, что объем памяти подкачки близок к нулю. free -m также можно использовать, чтобы увидеть, как используется ваша память вместе с vmstat.
  • Также проверьте использование ЦП с помощью top. Если использование или нагрузки высоки, это может быть другой причиной.
  • Если вы подвергаетесь DoS-атаке, у вас также может быть полностью используемое сетевое соединение (особенно на линии 10 Мбит / с). Проверьте использование сети с помощью ifconfig или в панели управления вашего провайдера.
  • Если вы не можете обнаружить проблему в реальном времени, попробуйте установить базовый пакет мониторинга, например sar для сбора статистики, которую вы можете предоставить позже.

попробуйте запустить сервер, а затем сразу войти в систему и запустить top затем нажмите M (на самом деле заглавная M для сортировки по использованию памяти) и наблюдайте за своими ресурсами. Вы должны увидеть, что ваш своп использует 0 байтов, а ваша память либо полностью используется, поскольку linux может использовать иногда или немного ниже, но в основном наблюдайте за процессами, потребляющими память. Вы должны увидеть образец того, какая память начинает увеличиваться, если в приложении происходит утечка памяти. если вы видите, что это такое, остановите процесс / службу и посмотрите, как он продлится через 30 минут, если он длится.

удачи

РЕДАКТИРОВАТЬ: проблема в том, что ваши почтовые журналы покажут, что amavis не может найти никаких первичных сканеров и, скорее всего, вернулся к вторичному сканированию, которое в вашем случае является clamscan. clamscan работает очень медленно и запускает процесс для каждого сканируемого письма или файла. Что вам нужно, так это clamd и настроить amavisd для использования его в качестве основного сканера. Если у вас не используется amavisd (хотя он должен), то вы выполняете фильтрацию с помощью procmail, поскольку он работает как учетная запись пользователя. Вам необходимо пересмотреть настройки и, возможно, настроить postfix для подключения к службе amavisd, чтобы оптимизировать сканирование.

(Преобразование моего комментария к вопросу в ответ, как будто это сработало - надеюсь, что все в порядке.)

Пытаться killall clamscan, а затем остановите все, что запускает эти процессы. "D" в столбце S означает, что процессы находятся в "непрерывном спящем режиме", что может быть связано с различными причинами, но, вероятно, с подкачкой в ​​/ из свопа, поскольку ваша память и пространство подкачки полностью заполнены (из top и free -m строка "буфер / кеш").

Убить процессы может быть проблемой (см. этот ответ о бесперебойных процессах), поэтому вам может потребоваться перенастроить систему, чтобы не использовать clamscan, а затем перезапустить сервер.

# To free pagecache:
#         echo 1 > /proc/sys/vm/drop_caches
# To free dentries and inodes:
#         echo 2 > /proc/sys/vm/drop_caches
# To free pagecache, dentries and inodes:
#         echo 3 > /proc/sys/vm/drop_caches
sudo sync && sudo sysctl -w vm.drop_caches=3