Управление памятью – жизненно важный аспект обеспечения бесперебойной работы системы Linux.
Являетесь ли вы системным администратором, разработчиком или просто любознательным пользователем, знание того, как проверить использование памяти в Linux, имеет решающее значение для обеспечения стабильности и производительности вашей системы.
Оперативная память является ценным ресурсом, и мониторинг ее использования может помочь вам в выявлении и устранении таких проблем, как утечки памяти или нехватка памяти из-за ресурсоемких процессов.
В этом посте будут рассмотрены шесть способов мониторинга и проверки использования памяти в среде Linux. Мы рассмотрим такие утилиты, как top, vmstat, ps и htop, которые показывают использование памяти Linux в терминале. Далее мы рассмотрим процесс проверки доступной памяти в Linux через графический интерфейс.
Итак, независимо от того, предпочитаете ли вы инструменты командной строки или графические интерфейсы, к концу этой статьи вы будете иметь четкое представление об оценке использования памяти вашей системы при обеспечении бесперебойной работы вашей системы Linux.
Давайте начнем с предварительных условий, а затем перейдем к пяти способам проверки использования памяти в Linux.
Необходимые условия для проверки доступной памяти в Linux
Вот что вам нужно, чтобы опробовать пять методов, которые мы обсудим в этом руководстве:
-
-
- Система, работающая под управлением основного дистрибутива Linux
- Доступ к командной строке или терминалу
- Учетная запись пользователя с правами sudo или root
- В системе должен быть менеджер пакетов (мы будем использовать APT)
-
Системная память (RAM) – это лишь одна из важнейших характеристик, необходимых для бесперебойной работы сервера. Вот наше руководство по cвыбору лучших ресурсов выделенного сервера для ваших проектов.
Метод № 1: Проверьте информацию о памяти в файле Linux meminfo
Самый простой способ – использовать команду cat для просмотра содержимого файла /proc/meminfo. Для этого введите следующую команду в терминале:
$ cat /proc/meminfo
В meminfo в системах Linux отслеживается, сколько памяти доступно и потребляется различными процессами. Он содержит данные в режиме реального времени об использовании системной памяти и использовании ядром общей памяти и буферов. Поскольку эти данные тесно связаны с системой, содержимое локального файла meminfo Linux может незначительно отличаться в зависимости от архитектуры и операционной системы.
Вы можете видеть, что система использует килобайты в качестве единицы измерения системной памяти. Вам нужно быстро подсчитать, чтобы перевести цифры в гигабайты.
Вот шесть важных полей, которые вы должны проверить в содержимом файла meminfo:
-
-
- MemTotal и MemAvailable: указывают объем системной памяти и то, что в данный момент доступно для приложений.
- Buffers и Cached: показывают, как система использует память для временного хранения и кэширования.
- SwapTotal и SwapFree: указывают на использование подкачки, что критически важно, когда в системе не хватает оперативной памяти.
-
Метод № 2: Используйте команду free, чтобы увидеть объем физической памяти и пространства подкачки
Большинство дистрибутивов Linux предлагают простую команду free, которая выводит статистику доступной и потребляемой памяти.
Запустите эту команду, чтобы вызвать утилиту в терминале:
# free
Давайте подробно рассмотрим этот вывод, чтобы выяснить, что указывает каждая запись.
total | Общая физическая память, установленная в системе |
used | Память, используемая процессами (used = total – free – buff/cache) |
free | Память, которая в данный момент не используется (свободная = общее количество используемой памяти/кэш) |
shared | Память, совместно используемая системными процессами |
buffers | Память, которую операционная система выделяет в качестве буферов, когда процессы увеличивают нагрузку |
cached | Файлы, хранящиеся в оперативной памяти |
buff/cache | Буферы + Кэш |
available | Доступную память новые приложения могут использовать без подкачки. |
Как видите, команда free предоставляет меньше информации, чем содержимое файла meminfo (/proc/meminfo ) в Linux. Однако этот вывод легче понять. Важнейшим показателем является значение available, которое показывает, сколько общей физической памяти (системной оперативной памяти) доступно для новых приложений.
Вы можете настроить вывод команды, добавив флаги в конце. Вот несколько полезных флагов, которые можно добавить к команде для проверки доступной оперативной памяти.
Опции | Результат |
-b | Переводит показатели использования/доступности памяти в байты |
-k | Изменяет показатели использования/доступности памяти в килобайты |
-m | Изменяет показатели использования/доступности памяти на мегабайты |
-g | Изменяет показатели использования/доступности памяти на гигабайты |
-l | Показывает подробную статистику нехватки и переизбытка памяти |
-o | Вернуть вывод к старому формату (без строки -/+ буферы/кэш) |
-t | Показывает общую сумму оперативной памяти + подкачка |
-s | Обновляет выходные данные каждые [задержка] секунды |
-c | Обновляет выходные данные в [количество] раз |
Метод № 3: Используйте команду vmstat, чтобы увидеть использование виртуальной памяти
vmstat (Virtual Memory Statistic Reporter) предлагает исчерпывающую информацию об аспектах производительности системы, включая процессы, общий объем физической памяти, использование памяти, подкачку, блочный ввод-вывод, перехваты и активность процессора.
При проверке доступной оперативной памяти этот вывод может сбить с толку начинающих пользователей из-за деталей. Давайте углубимся в эти детали, чтобы увидеть, что представляют эти заголовки.
- Procs (процессы): количество процессов, ожидающих выполнения.B: количество процессов, находящихся в непрерывном режиме ожидания
- Memoryswpd: используемый размер виртуальной памяти.free: неиспользуемое пространство памяти.buff: часть ОЗУ, используемая в качестве буферов.cache: пространство ОЗУ, используемое для кэширования.
- Swapsi: замененная память с диска (/ов).so: замененная память на диск (/ов)
- IObi: блоки, принимаемые в секунду (блоки/с) от блочного устройства.bo: блоки в секунду (блоки, записываемые на блочное устройство)
- CPU (это проценты от общего времени процессора)us: время работы, выделяемое на код, не относящийся к ядру. (Включая время пользователя и приятное времяпрепровождение)sy: Продолжительность выполнения ядра. (Время в системе) id: продолжительность простоя.wa: количество времени, затраченного на ожидание ввода-вывода.st: украденное время виртуальной машины.
Метод № 4: Используйте команду top для отображения использования памяти и процессора
Команда top отображает подробную информацию об использовании памяти и ЦП в разбивке по процессам. Она показывает следующие сведения о системных процессах:
- время безотказной работы
- средний вес
- выполнение задачи,
- Количество пользователей, вошедших в систему
- Загрузка процессора
- поменять системные процессы и память местами
Поскольку команда постоянно обновляет данные, вы можете использовать ее для просмотра потребления памяти по мере происходящего.
Команда top отображает запущенные процессы практически в режиме реального времени. Вы можете использовать различные флаги, чтобы просмотреть конкретную информацию о том, как процессы потребляют системную память и центральный процессор. Мы рекомендуем использовать команду man top, чтобы просмотреть список этих флагов и опций.
Сортировка верхней информации по памяти
При использовании top выполните сортировку по памяти, чтобы увидеть процессы, которые потребляют больше всего оперативной памяти. Поскольку top выдает выходные данные, близкие к реальному времени, сортировка выходных данных по объему памяти является отличным способом быстрого распознавания процессов, занимающих системную оперативную память.
Запустите верхнюю утилиту и нажмите shift + m, чтобы отсортировать вывод по потреблению памяти.
Представить лучшие выходные данные в удобном для пользователя формате
При использовании top вывод данных, удобочитаемый человеком, является серьезным недостатком. Современные системы Linux имеют оперативную память в гигабайтах (ГБ), в то время как утилита выводит данные в килобайтах (КБ). Вы можете легко преобразовать выходные данные в верхней половине выходных данных, нажав shift + e.
Метод № 5: используйте команду htop, чтобы увидеть загрузку памяти каждым процессом
Команда htop имеет результат, очень похожий на результат команды top, которую мы обсуждали в предыдущей статье. Основными преимуществами использования команд htop являются удобный интерфейс и улучшенные параметры управления.
Пользователи предпочитают эту команду команде top из-за множества флагов, возможности прокрутки по вертикали и горизонтали и красочного вывода.
Давайте посмотрим на команду в действии.
#htop
Давайте углубимся в детали этого вывода:
В верхней части приведена краткая информация об использовании ресурсов системы. Эти данные дают вам краткий обзор и упрощают способ проверки использования памяти в системах Linux.
В нижней части приведены сведения о каждом запущенном процессе. Эта подробная разбивка поможет вам определить процессы, которые потребляют слишком много памяти и процессорного времени.
Вы можете дополнительно изменить детали и формат выходных данных, используя команды, перечисленные внизу.
Следует отметить, что htop не установлен по умолчанию в некоторых системах Linux. Если у вас это так, просто установите его, выполнив следующую команду :
$ sudo apt install htop
Знаете ли вы, что нехватка памяти часто является распространенной причиной лагов и сбоев серверов. Вот почему мы включили спецификации серверов в наш подробный обзор управляемых выделенных серверов.
Метод № 6: Используйте утилиту ps для просмотра потребления памяти процессом
Вы также можете просмотреть использование памяти Linux конкретным пользователем, выполнив команду ps. Точный синтаксис команды следующий:
# ps -u <username> -o pid,%mem
Как вы можете видеть, команда выводит идентификатор процесса (PID) и процент памяти, потребляемой процессом.
Просмотреть потребление памяти определенным процессом
Интересным вариантом использования утилиты ps является проверка использования памяти Linux определенным процессом. Это часто полезно, если вы подозреваете, что процесс потребляет слишком много оперативной памяти. В контексте вызова команды ps использование памяти синтаксис команды будет следующим:
# ps v <PID>
Вывод команды очень подробный и включает потребление памяти в КБ.
Метод № 7: Используйте графический интерфейс для проверки использования памяти Linux
Инструменты командной строки быстры, но часто не имеют удобного вывода. Если вы предпочитаете графический интерфейс командной строке, вы можете использовать утилиту системного монитора для визуальной проверки использования памяти в системах Linux.
Для демонстрации мы будем использовать Ubuntu, но процесс запуска и использования утилиты остается неизменным во всех дистрибутивах.
Запустить System Monitor легко – просто перейдите в раздел Показать приложения. Введите System Monitor в поле поиска, чтобы открыть утилиту.
Как только программа активируется, перейдите на вкладку Ресурсы. Вы можете увидеть графическое представление использования памяти в режиме реального времени. Вы также можете просмотреть исторические данные для лучшего сравнения и анализа.
Советы по отслеживанию использования памяти в Linux
Мониторинг использования памяти в Linux имеет решающее значение для эффективного управления системой. Вот пять простых способов отслеживать ресурсы памяти вашей системы.
- Используйте базовые команды, такие как free или top, чтобы проверить текущее использование памяти и выявить процессы, испытывающие нехватку памяти.
- Следите за использованием памяти подкачки, так как чрезмерная подкачка может указывать на проблемы с памятью.
- Изучите графические инструменты для визуального представления статистики использования памяти. Эти инструменты обеспечивают более интуитивное понимание закономерностей использования памяти.
- Проверьте вкладку “Процессы” в “Мониторах ресурсов”, чтобы детально проанализировать активность процессов и статистику использования памяти.
- Обратитесь к текущему сообществу разработчиков на таких платформах, как Stack Exchange, за последней информацией о методах управления памятью, включая установку пороговых значений памяти и обеспечение эффективного управления памятью для оптимального использования ресурсов.
Заключение
Отслеживание использования памяти вашей системы Linux важно для поддержания ее работоспособности и максимального повышения производительности. Мы описали пять простых команд, которые вы можете попробовать для проверки использования памяти в средах Linux. Регулярно используя эти команды, пользователи и администраторы Linux могут поддерживать эффективность и отзывчивость своей системы, избегая при этом потенциальных проблем с производительностью.
Как проверить использование памяти в Linux — это лишь один из навыков, которые наша служба поддержки использует каждый день, чтобы обеспечить нашим пользователям высокопроизводительную инфраструктуру для их проектов.
Вопросы и ответы
Вопрос: Почему мониторинг использования памяти важен в Linux?
A1: Мониторинг использования памяти в Linux имеет решающее значение для обеспечения эффективного распределения ресурсов, предотвращения проблем с производительностью и устранения узких мест в системе. Это помогает поддерживать стабильность и быстродействие системы.
Вопрос: Что такое команда free и как проверить использование памяти?
A2: Команда free отображает информацию об общем объёме, используемой и свободной памяти в вашей системе. При использовании команды free с такими параметрами, как «-m» (мегабайты) или «-g» (гигабайты), статистика памяти отображается в более понятном для человека формате.
В. Назовите 5 команд для проверки использования памяти в Linux?
5 команд для проверки использования памяти в Linux: top, vmstat, sar и htop.
В. Как я могу проверить использование памяти в системе Linux с помощью командной строки?
Вы можете проверить использование памяти в системе Linux с помощью таких команд, как free, top, vmstat, sar или htop в терминале.
В. Какая команда используется для проверки использования памяти в Linux?
Команда для проверки использования памяти в Linux – это команда free, которая показывает общий объем свободной и используемой памяти в вашей системе.
В. Как просмотреть статистику памяти в Linux?
Вы можете просмотреть статистику памяти в Linux, используя такие команды, как free, top, vmstat, sar или htop, чтобы проверить использование и доступность памяти.
В. Как я могу проверить объем памяти, используемый Linux?
Чтобы проверить объем памяти, используемой Linux, вы можете использовать такие команды, как free, top, vmstat, sar или htop для мониторинга использования памяти системой.
В. Какие существуют способы проверки использования памяти в операционной системе Linux?
Вы можете проверить использование памяти в операционной системе Linux, используя такие команды, как free, top, vmstat, sar или htop, для мониторинга использования памяти и производительности системы.
Вопрос: Могу ли я сделать так, чтобы системы с гигабайтами системной памяти были удобны для чтения человеком?
По умолчанию верхняя панель отображает системную память в килобайтах. Вы можете изменить формат отображения на более удобный для восприятия, нажав shift + h для изменения единиц измерения на панели.
Вы можете проверить общий объём используемой памяти в системе Linux с помощью таких команд, как free, top, vmstat, sar или htop, чтобы просмотреть статистику памяти.
В. Как выполнить сортировку Linux по памяти?
Вы можете легко отсортировать top по памяти, чтобы получить более удобный для восприятия человеком вывод и быстро проанализировать использование памяти. В утилите top вы можете нажать shift+m для сортировки вывода утилиты.