⏏️ Как исправить чрезмерное использование оперативной памяти на Linux

by itisgood

Наши компьютеры имеют все больше встроенной памяти, чем когда-либо.

Скорее всего, это правда, независимо от того, когда вы читаете это.

Тем не менее, независимо от того, сколько у вас памяти, этого никогда не бывает достаточно.

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

В большинстве случаев это хорошо.

В конце концов, какой смысл всей этой оперативной памяти, если вы ее не используете?

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

Прежде чем начать искать способы освобождение памяти, вы должны убедиться, что же на самом деле использует все эти ресурсы.

Из-за того, как Linux обрабатывает память, может показаться, что что-то использует всю доступную память.

Как объясняет Linux Ate My RAM, команда top, показывающая, что у вас недостаточно памяти, может не означать то, что вы подумаете на самом деле.

По умолчанию Linux выделяет неиспользуемую память для кэширования диска, что фактически помогает ускорить работу вашего компьютера.

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

Диагностика использования памяти

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

Команда top удобна для просмотра любых приложений, которые могут потреблять слишком много оперативной памяти – просто не полагайтесь исключительно на статистику PhysMem, отображаемую командой top.

Вы также можете использовать команды free и ps для диагностики проблем с оперативной памятью.
Чтобы использовать free, просто запустите следующую команду:
Вы заметите, что в «total» и «used» цифры будут одинаковыми.
Как мы упоминали выше, это нормальное поведение для Linux, поэтому не беспокойтесь по этому поводу.
Наиболее важной вещью, на которую следует обратить внимание, является раздел «used» в строке «buffers/cached», поскольку именно это фактически используют приложения и службы.
Вы можете использовать ps аналогично top, чтобы определить, какие приложения используют больше всего памяти.
Для этого просто запустите следующую команду:
ps aux
Вывод покажет вам, какие приложения используют больше всего памяти, и покажет вам их идентификаторы процессов.

Исправление чрезмерного использования памяти

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

Одним из главных нарушителей является Java.

Используете ли вы официальную среду выполнения Java или предоставленную GNU альтернативу,  и то и то может вызвать проблемы.

Если вы сталкиваетесь с этим на сервере, это может быть вызвано JBoss или Tomcat.

Вы найдете их файлы конфигурации где-то вроде следующих путей:

/usr/local/jboss/bin/run.conf 
/usr/local/tomcat/bin/setenv.sh

Другими виновниками могут быть Apache или MySQL.

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

Заключение

Если вы ищете повышение производительности или исправление проблемы вы должны понимать, что  память не всегда может быть главным виновником.

 

 

You may also like

Leave a Comment