- Главная
- Руководство по ведению журналов
- Как анализировать проблемы с памятью в системе Linux
Анализ журналов системы: проблемы с памятью
На этой странице
- Введение
- Вот несколько примеров данных журнала, которые указывают на проблемы с памятью
Производительность сервера также могут зависеть от его памяти. Когда оперативная память и пространство подкачки заполнены, на сервере заканчивается память. Следующей реакцией ядра будет завершение процесса, который занимает много памяти. Механизм OOM Killer (Out Of Memory, нехватка памяти) - это механизм, который ядро использует для восстановления памяти в системе. Основная цель OOM Killer - завершить как можно меньше процессов, максимально освободив при этом память. В результате он первым завершает процесс, использующий больше всего памяти.
Когда необходимо запустить критически важный процесс, требующий больше памяти, чем доступно, ядро начинает завершать процессы и записывает эти события в данные журнала со строками, такими как Out of Memory ("Недостаточно памяти").
Возникновение таких событий свидетельствует о том, что сервер намеренно завершил процесс, чтобы освободить память.
При устранении неполадок с памятью обнаружение таких событий имеет важное значение, поскольку они помогают понять, какой процесс вызвал проблему с памятью.
Вот несколько примеров данных журнала, которые указывают на проблемы с памятью
Jan 3 21:30:26 ip-172-31-34-37 kernel: [ 1575.404070] Out of memory: Kill process 16471 (memkiller) score 838 or sacrifice child
Jan 3 21:30:26 ip-172-31-34-37 kernel: [ 1575.408946] Killed process 16471 (memkiller) total-vm:144200240kB, anon-rss:562316kB, file-rss:0kB, shmem-rss:0kB Jan 3 21:30:27 ip-172-31-34-37 kernel: [ 1575.518686] oom_reaper: reaped process 16471 (memkiller), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
Проблемы с памятью можно устранить, проанализировав журналы, которые хранятся в журнале ядра /var/log/kern.log или в каталоге syslog /var/log/syslog. Вы можете вручную проанализировать все журналы с помощью команды grep и выяснить причину проблемы с памятью. Однако для повторного выполнения команды grep потребуется память, поэтому рекомендуется централизованно хранить все системные журналы на отдельном сервере и выполнять анализ. Можно вручную сгруппировать процессы и указать, какой процесс необходимо завершить в первую очередь, а какой критически важный процесс необходимо оставить запущенным. Однако это трудоемкий процесс, поскольку количество сгенерированных журналов будет большим.
В качестве альтернативы можно использовать комплексное решение для управления журналами, такое как EventLog Analyzer, чтобы централизованно управлять всеми журналами системы и автоматически анализировать их для получения более полной информации. Решение предлагает оповещения в режиме реального времени и предварительно настроенные отчеты о нехватке места на диске, событиях предупреждения, информационных событиях и т. д.
Решение для управления журналами можно настроить на отправку оповещения в случае, если в системе заканчивается память. Это поможет немедленно принять меры для продолжения работы важнейших процессов.
Узнайте, как EventLog Analyzer может помочь обнаружить и устранить проблемы с памятью в сети. Благодаря более чем 300 предустановленным критериям оповещений EventLog Analyzer может быстро выявлять инциденты безопасности и отправлять администраторам уведомления по SMS или электронной почте в режиме реального времени.