Оперативная память Linux

Обновлено: 21.11.2024

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

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

Мы уже показали вам, как проверить информацию о процессоре в Linux, сегодня я покажу, как проверить память в Linux.

Примечание. Термины "память" и "физическая память" используются для обозначения ОЗУ (более популярного термина). Другими словами, если вы хотите проверить использование оперативной памяти в Linux, вы используете команды, связанные с памятью. Если вы хотите проверить место на диске в Linux, используйте команды, связанные с диском.

5 команд для проверки использования памяти в Linux

В этой статье мы расскажем, как проверять память различными способами, и немного объясним, как работает каждая из командных строк для этой цели.

1. бесплатно

Команда free в Linux имеет самый простой вывод. Он показывает объем свободной и используемой памяти в вашей системе Linux.

Вы можете увидеть свободную и используемую физическую память, т. е. ОЗУ, использование подкачки и буфер, используемый ядром Linux.

Все, что вам нужно сделать, это ввести free в терминале и нажать Enter:

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

2. топ

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

Команда

выполняется верхняя команда

В заголовке вы заметите, как он сообщает об общем объеме памяти, объеме используемой и свободной памяти, причем как для обычной (ОЗУ), так и для памяти подкачки. Это также дает вам визуализацию в реальном времени текущих запущенных процессов и объемов, потребляемых каждым из них.

Вы можете нажать клавиши Shift+M, чтобы отсортировать верхнюю команду по использованию памяти.

3. htop

htop по функциональности очень похож на команду top, но немного отличается. Он немного более нагляден и показывает информацию немного дружелюбнее, чем top, однако это также визуализация в реальном времени:

htop работает

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

4. /proc/meminfo

Даже если может показаться, что мы консультируемся с файлом, на самом деле все, что находится внутри папки «proc», — это просто виртуальные файлы, которые отображают информацию непосредственно из ядра.

Этот единственный метод дает вам очень подробную информацию о памяти, не только общий вид, но даже количество используемых страниц памяти.

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

/proc/meminfo

Для подробного объяснения всей этой информации потребовалась бы целая статья, поэтому я не буду этого делать здесь.

5. vmstat -m

Как и /proc/meminfo, этот файл предоставляет вам информацию непосредственно из ядра, фактически, только суперпользователь может его выполнить (поэтому, если вы работаете на основе Debian или Ubuntu, вам потребуется sudo).

Он дает очень подробные сведения о доступной памяти и используемых страницах памяти:

Команда

sudo vmstat -m

Бонус: информация об оперативной памяти с помощью dmidecode

Dmidecode в большей степени относится к физическому чипу памяти, он предоставляет информацию о фактических чипах, выделенных на вашем компьютере, поэтому он позволяет вам узнать больше о текущей установленной памяти, например: где она физически расположена (какой банк памяти) , какой у нее тип памяти (DIMM, SIMM), скорость, производитель, напряжение и даже обнаружена ли в данный момент какая-либо ошибка.

Запустив его как: sudo dmidecode -t 17 вы получите информацию, похожую на этот снимок экрана:

sudo dmidecode -t 17

Подведение итогов

Как обычно, Linux предлагает вам несколько способов просмотреть информацию о чем-либо, в данном случае проверяя использование памяти в вашей системе. Эта информация в зависимости от того, что необходимо и как она используется, может быть очень полезной и предоставлять ценную информацию системному администратору.

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

В этом руководстве вы узнаете о пяти мощных командах для проверки использования памяти в Linux.

Мы также предоставляем подробные объяснения того, что они делают, и, что более важно, как интерпретировать результаты. Команды будут работать практически со всеми дистрибутивами Linux. В данном случае команды и результаты представлены с использованием Ubuntu 18.04.

  • Доступ к командной строке/терминалу
  • Пользователь с правами sudo
  • Менеджер пакетов apt

Команды для проверки использования памяти в Linux

Команда cat для отображения информации о памяти Linux

Ввод cat /proc/meminfo в вашем терминале открывает файл /proc/meminfo.

Это виртуальный файл, в котором сообщается об объеме доступной и используемой памяти. Он содержит информацию в режиме реального времени об использовании системной памяти, а также о буферах и разделяемой памяти, используемых ядром. Результат может незначительно отличаться в зависимости от используемой архитектуры и операционной системы.

Это пример того, как выглядит файл /proc/meminfo в Ubuntu 18.04:

Терминал отображает информацию в килобайтах.

free команда для отображения объема физической памяти и памяти подкачки

Набрав free в командном терминале, вы получите следующий результат:

Данные представляют собой объем используемой/доступной памяти и объем памяти подкачки в килобайтах.

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

  • Процессы
    • r: количество процессов, ожидающих выполнения.
    • b: количество процессов в непрерывном спящем режиме.
    • swpd: объем используемой виртуальной памяти.
    • свободно: объем свободной памяти.
    • buff: объем памяти, используемый в качестве буферов.
    • кеш: объем памяти, используемый в качестве кеша.
    • si: память, загруженная с диска (/s).
    • итак: память заменена на диск (/s).
    • bi: количество блоков, полученных от блочного устройства (блоков в секунду).
    • bo: количество блоков, отправленных на блочное устройство (блоков в секунду).
    • in: количество прерываний в секунду, включая часы.
    • cs: количество переключений контекста в секунду.
    • нас: время, потраченное на выполнение кода, отличного от ядра. (время пользователя, включая приятное время)
    • sy: время, потраченное на выполнение кода ядра. (системное время)
    • id: время простоя. До Linux 2.5.41 это включает время ожидания ввода-вывода.
    • wa: время, затраченное на ожидание ввода-вывода. До Linux 2.5.41 включался в режим ожидания.
    • st: Время, украденное у виртуальной машины. До Linux 2.6.11 неизвестно.

    команда top для проверки использования памяти

    Команда top полезна для проверки использования памяти и ЦП для каждого процесса. Он отображает информацию о:

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

    Данные постоянно обновляются, что позволяет вам следить за процессами в режиме реального времени.

    Помимо предоставления важной информации о памяти, команда top предоставляет ограниченный интерактивный интерфейс. Можно управлять операциями и настраивать их с помощью параметров командной строки.

    Команда man в Linux man top предоставляет полный список всех доступных вариантов.

    Команда htop для поиска загрузки памяти каждого процесса

    Информация, которую предоставляет команда htop, аналогична команде top. Однако реальным преимуществом команды htop является ее удобная среда и улучшенные элементы управления.

    Эта команда использует цвет для вывода, предоставляет полные командные строки для процессов, а также возможность прокрутки как по вертикали, так и по горизонтали.

    Появляется следующий вывод:

    1. В верхнем сегменте представлена ​​сводная информация, а также графические и текстовые счетчики.
    2. Нижний раздел структурирует подробные данные для каждого процесса. Это позволяет с легкостью выполнять действия над отдельными процессами.
    3. Ярлыки, перечисленные в нижней части экрана, позволят вам управлять процессами и настраивать их быстро и без необходимости вводить определенные команды.

    Примечание. Если при попытке запустить команду htop появляется сообщение «Команда ‘htop’ не найдена», вам необходимо сначала установить функцию htop:

    В качестве альтернативы используйте следующую команду:

    Проверка использования памяти в Linux с помощью графического интерфейса

    Использование графического интерфейса для администрирования сервера не является общепринятой практикой. Однако некоторые наборы данных намного нагляднее благодаря визуальному представлению использования памяти.

    Для доступа к системному монитору:

    1. Перейдите к Показать приложения.
    2. Введите системный монитор в строке поиска и получите доступ к приложению.
    3. Выберите вкладку "Ресурсы".
    4. Отображается графический обзор потребления памяти в режиме реального времени, включая историческую информацию.

    В этом руководстве представлено несколько вариантов проверки использования памяти в вашей системе Linux. Мы узнали, что одна команда предоставляет множество ценных данных для будущего анализа. Очень важно научиться правильно интерпретировать информацию.

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

    Часто важно проверять использование памяти и память, используемую каждым процессом на серверах, чтобы ресурсы не иссякали и пользователи могли получить доступ к серверу. Например веб-сайт. Если вы используете веб-сервер, то сервер должен иметь достаточно памяти для обслуживания посетителей сайта. В противном случае сайт стал бы очень медленным или даже перестал бы работать в случае всплеска трафика просто потому, что не хватило бы памяти. Это похоже на то, что происходит на вашем настольном ПК.

    1. бесплатная команда

    Команда free — это самая простая и удобная команда для проверки использования памяти в Linux. Вот краткий пример

    Параметр m отображает все данные в мегабайтах. Всего ОС 7976 МБ — это общий объем оперативной памяти, установленной в системе, то есть 8 ГБ. Столбец «используется» показывает объем оперативной памяти, использованной linux, в данном случае около 6,4 ГБ. Вывод довольно понятен. Загвоздка здесь в столбце cached and buffers. Вторая строка говорит о том, что 4,6 ГБ свободно. Это свободная память в первой строке, добавленная к буферам и кешированному объему памяти.

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

    2. /proc/meminfo

    Следующий способ проверить использование памяти — прочитать файл /proc/meminfo. Знайте, что файловая система /proc не содержит реальных файлов. Это скорее виртуальные файлы, содержащие динамическую информацию о ядре и системе.

    Проверьте значения MemTotal, MemFree, Buffers, Cached, SwapTotal, SwapFree.
    Они указывают те же значения использования памяти, что и команда free.

    3. вмстат

    Команда vmstat с параметром s выводит статистику использования памяти так же, как и команда proc. Вот пример

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

    4. верхняя команда

    Команда top обычно используется для проверки использования памяти и процессора для каждого процесса. Однако он также сообщает об общем использовании памяти и может использоваться для мониторинга общего использования ОЗУ. Заголовок на выходе содержит необходимую информацию. Вот пример вывода

    Проверьте строки KiB Mem и KiB Swap в заголовке.Они показывают общее, используемое и свободное количество памяти. Здесь также присутствует информация о буфере и кеше, как и в команде free.

    5. htop

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

    Заголовок вверху показывает использование ЦП, ОЗУ и использование подкачки с соответствующими цифрами.

    Информация об оперативной памяти

    Чтобы узнать аппаратную информацию об установленной оперативной памяти, используйте команду demidecode. Он сообщает много информации об установленной оперативной памяти.

    Предоставленная информация включает размер (2048 МБ), тип (DDR2), скорость (667 МГц) и т. д.

    Обзор

    Все вышеупомянутые команды работают из терминала и не имеют графического интерфейса. При работе на рабочем столе с графическим интерфейсом гораздо проще использовать инструмент с графическим интерфейсом и графическим выводом. Наиболее распространенными инструментами являются gnome-system-monitor в gnome и
    ksysguard в KDE. Оба предоставляют информацию об использовании ресурсов процессора, оперативной памяти, подкачки и пропускной способности сети в графическом и легком для понимания визуальном виде.

    Технический энтузиаст, блоггер, поклонник Linux и разработчик программного обеспечения. Пишет о компьютерном оборудовании, Linux и программном обеспечении с открытым исходным кодом, а также о программировании на Python, Php и Javascript. С ним можно связаться по адресу [email protected] .

    66 мыслей о «5 командах для проверки использования памяти в Linux»

    Вы очень хорошо объяснили тему. Спасибо, что поделились хорошей статьей.

    Спасибо за эти команды. Это сэкономило много времени.

    Как насчет того, чтобы объяснить, что мы ищем? Большинство людей знают эти команды. Пустая трата времени.

    Исправьте опечатку в разделе «Информация об оперативной памяти». Команда для просмотра аппаратной информации об оперативной памяти — «dmidecode», а не «demidecode».
    Кроме того, для этого требуются привилегии root.

    Независимо от того, используем ли мы Raspberry Pi или сервер центра обработки данных, нам нужно знать, как работают наш ЦП и ОЗУ, а в Linux существует множество команд и приложений, которые мы можно использовать. На базовом низком уровне «Сколько оперативной памяти я использовал?» для проверки ЦП на наличие уязвимостей, таких как Spectre, в нашем распоряжении есть команды.

    Мы собираемся рассмотреть несколько различных способов получения данных об ОЗУ и ЦП в терминале, прежде чем, наконец, рассмотрим два приложения, которые могут обеспечить базовый уровень надежности, с первого взгляда.

    Эти команды будут работать на большинстве машин Linux. На нашем тестовом ПК работала Kubuntu 21.10, но мы также уверены, что вы также можете выполнить это руководство на Raspberry Pi. Все инструкции выполняются через терминал.

    Как проверить процессор в Linux

    <р>1. Откройте терминал.

    <р>2. Используйте команду cat для отображения данных, хранящихся в /proc/cpuinfo.

    Эта команда выводит много текста, обычно она повторяет одну и ту же информацию для количества ядер, присутствующих в вашем ЦП.

    Более краткий способ получить большую часть этой информации — использовать lscpu, команду, которая выводит сведения о ЦП.

    <р>1. Откройте терминал.

    <р>2. Используйте lscpu для отображения сведений о ЦП. Команда довольно подробная, и мы можем легко увидеть количество ядер ЦП, минимальную и максимальную скорость ЦП и архитектуру ЦП.

    Используя небольшое волшебство grep, мы можем получить только ту информацию, которая нам нужна.

    <р>1. Откройте терминал.

    <р>2. Используя вертикальную прямую, отправьте выходные данные команды lscpu в grep и найдите «max». Это даст нам максимально возможную скорость процессора. Каналы — это способ отправки вывода одной команды в качестве ввода для другой. Классические примеры — передача вывода команды в текстовый файл для последующего просмотра.

    Еще один способ получить информацию о ЦП — использовать dmidecode, команду, которая выводит содержимое DMI (SMBIOS) в нечто, что мы можем понять.

    <р>1. Откройте терминал.

    <р>2. Введите команду dmidecode с помощью sudo и аргумента -t 4. Существует множество типов DMI с числовой ссылкой, используемой для получения информации об этом компоненте. В данном случае -t 4 для процессора. Мы можем заменить 4 на процессор для того же эффекта.

    Как проверить оперативную память в Linux

    <р>1. Откройте окно терминала.

    <р>2. Используйте команду бесплатно. Это покажет доступную память и способ ее распределения в килобайтах.

    <р>3. Используйте переключатель -m, чтобы отобразить доступную память в мегабайтах, или -g, чтобы показать гигабайты.

    В качестве альтернативы можно использовать переключатель -h, чтобы отобразить информацию о памяти, масштабированную до трех кратчайших цифр. Предоставление нам информации с первого взгляда.

    Существует аналогичный способ /proc/cpuinfo для информации о памяти.

    <р>1. Откройте окно терминала.

    <р>2. Используйте команду cat, чтобы распечатать содержимое /proc/meminfo. Вывод невероятно подробный и может оказаться полезным для отладки. Обычно мы придерживаемся free -m.

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

    <р>1. Откройте окно терминала.

    <р>2. Используя sudo, введите команду lshw с переключателем -short (дерево устройств) и -C с классом memory.< /эм>

    Мы также можем использовать dmidecode для более подробного запроса.

    Краткая информация

    Если нам нужен более общий уровень информации, наша текущая скорость процессора, использование ОЗУ, пропускная способность сети, тогда у нас есть две команды, которые можно установить.

    Как установить и использовать Htop

    Стандартная команда top великолепна, но htop — гораздо лучшая альтернатива. Htop предоставляет нам интерактивный список запущенных процессов.

    Чтобы установить htop.

    <р>1. Откройте окно терминала.

    <р>2. Обновите список репозиториев.

    <р>3. Установите htop с помощью apt.

    <р>4. Запустите htop

    .

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

    Мы можем прокручивать список с помощью клавиш управления курсором или выполнять поиск с помощью F3, а затем имени процесса или приложения. Здесь мы искали программу обработки изображений GNU (GIMP). Мы можем закрыть приложение, нажав F9.

    Чтобы закрыть htop, нажмите F10.

    Как установить и использовать Bpytop

    Наше личное предпочтение — bpytop, реализация htop на языке Python, но с гораздо большими возможностями.

    Чтобы установить bpytop.

    <р>1. Откройте окно терминала.

    <р>2. Установите bpytop с помощью диспетчера пакетов Python.

    <р>3. Запустите bpytop из терминала.

    Интерфейс Bpytop разделен на несколько областей.

    <р>1. Состояние процессора
    a. Скорость процессора
    b. Использование ядра
    c. Общее использование

    <р>2. Использование оперативной памяти
    a. Общий объем оперативной памяти
    b. Используемая оперативная память
    c. Доступная оперативная память
    d. Кэш

    <р>3. Использование диска / хранилища
    a. Используемое и свободное место на всех подключенных устройствах

    <р>4. Использование сетевого интерфейса
    a. Скорость вверх и вниз

    <р>5. Процессы (как и htop)
    a. Управление процессами

    Мы можем показать или скрыть область, нажав соответствующую цифру (1..4). Если нам нужна только информация о ЦП, ОЗУ, хранилище и сети, нажмите 4. Чтобы вернуть ее, снова нажмите 4.

    Чтобы отфильтровать процессы для определенного приложения.

    <р>1. Нажмите f, чтобы отфильтровать. Оно должно быть в нижнем регистре f.

    <р>2. Введите имя приложения/процесса/Pid. Поиск адаптируется, чтобы показать процесс, в нашем случае GIMP.

    <р>3. Нажмите T, чтобы завершить процесс, или K, чтобы убить. Это должны быть буквы T и K в верхнем регистре.

    Чтобы выйти из bpytop, в любой момент нажмите q.

    Лес Паундер — помощник редактора Tom's Hardware. Он творческий технолог и в течение семи лет создавал проекты, чтобы обучать и вдохновлять умы как молодых, так и старых. Он работал с Raspberry Pi Foundation над написанием и реализацией их программы подготовки учителей «Picademy».

    Отличная страница — небольшая опечатка — ссылка на /proc/meminfo записывается как /proc/cpuinfo

    FWIW (расширение масштаба!) Можно добавить и другую информацию - прикрепил мою шпаргалку.
    Некоторые из них изменены по мотивам вашей страницы.

    ЦП:
    cat /proc/cpuinfo
    lscpu
    напр. для максимальной скорости процессора. лскпу | Максимальный размер группы

    sudo dmidecode -t 4
    -t 4 указывает SMBIOS специально для сведений о ЦП

    ОЗУ:
    свободно,
    например. со спецификаторами формата -m -g или -h для округления значащих цифр

    sudo lshw -short -C memory
    - подробные тайминги модуля памяти

    sudo dmidecode -t память

    ФАЙЛОВАЯ СИСТЕМА:
    du -h
    напр. уточнить с помощью du -h --max-depth=2 отчет из текущего каталога

    baobab
    - версия графического гнома

    sudo du -h --max-depth=1 / | sort -h 2> /dev/null
    - для всей файловой системы требуются права пользователя root и отбрасываются предупреждающие сообщения

    СИСТЕМА: (динамическая производительность)

    Контролировать системные ресурсы необходимо, независимо от того, используете ли вы Raspberry Pi за 35 долларов или многомиллионный центр обработки данных. Мы покажем вам, как отслеживать ваши системы из командной строки Linux.

    Как следить за процессором и оперативной памятью в Linux: Подробнее

    прямой ответ автору;
    Это была лучшая статья, которую я (парень из Windows, стремящийся к скрытности) читал о каких-либо командах Linux. Ясно, полно и полезно. Я записал минимум, который мне может понадобиться, в шпаргалке по Linux. lscpu, бесплатно, htop. легко запомнить и просто. htop — диспетчер задач Windows в командной строке. На самом деле, мне было интересно, что я мог бы использовать для Taskman.

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

    Благодарим вас за регистрацию в Tom's Hardware. Вскоре вы получите электронное письмо с подтверждением.

    Возникла проблема. Обновите страницу и повторите попытку.

    Отправляя свою информацию, вы соглашаетесь с Условиями использования и Политикой конфиденциальности и вам исполнилось 16 лет.

    Читайте также: