Мой сервер 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
Несколько комментариев и то, что вы можете проверить:
top
и убедитесь, что объем памяти подкачки близок к нулю. free -m
также можно использовать, чтобы увидеть, как используется ваша память вместе с vmstat
.top
. Если использование или нагрузки высоки, это может быть другой причиной.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