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

How Check Linux Memory Usage



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

Оперативная память очень быстрая и ближе к ЦП (центральному процессору) компьютера. Поскольку ОЗУ находится ближе к ЦП компьютера, ЦП имеет прямой доступ к ОЗУ. Таким образом, задержка доступа к данным очень мала по сравнению с устройствами хранения, такими как HDD или SSD. Вот почему все программы используют оперативную память для хранения данных кеша.







К сожалению, оперативная память очень дорога и ограничена. Без достаточного количества свободной оперативной памяти ваш компьютер не будет работать должным образом. Работающие программы на вашем компьютере могут зависать или останавливаться. Возможно, вы не сможете запускать какие-либо новые программы. В худшем случае вся ваша система зависнет и станет непригодной для использования.



Проверка использования ОЗУ - одна из самых важных задач в Linux. Вы можете диагностировать многие проблемы Linux, если сможете отслеживать использование оперативной памяти вашей системы Linux.



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





Единицы компьютерной памяти:

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

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



Единицы компьютерной памяти приведены ниже.

  • Немного: Самая маленькая единица компьютерной памяти - это бит. Бит может содержать либо 0, либо 1. Вот и все.
  • Байт: 8 бит образуют байт.
  • Килобайт: 1000 байт составляют килобайт.
  • Мегабайт: 1000 килобайт составляют мегабайт.
  • Гигабайт: 1000 мегабайт составляют гигабайт.
  • Терабайт: 1000 гигабайт составляют терабайт.
  • Петабайт: 1000 терабайт составляют петабайт.
  • кибибайт: 1024 байта образуют кибибайт.
  • Мебибайт: 1024 кибибайта образуют мебибайт.
  • Gibibyte: 1024 мебибайта образуют гибибайт.
  • Тебибайт: 1024 гибибайта образуют тебибайт.
  • Пебибайт: 1024 тебибайта образуют пебибайт.

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

  • Килобайт: 1000 байт или 103байтов.
  • Мегабайт: 1000000 байтов или 106байтов.
  • Гигабайт: 1000000000 байт или 109байтов.
  • Терабайт: 1000000000000 байтов или 1012байтов.
  • Петабайт: 1,000,000,000,000,000 байт или 10пятнадцатьбайтов.
  • кибибайт: 1024 байта или 210байтов.
  • Мебибайт: 1 048 576 байт или 2двадцатьбайтов.
  • Gibibyte: 1,073,741,824 байта или 230байтов.
  • Тебибайт: 1 099 511 627 776 байт или 240байтов.
  • Пебибайт: 1,125,899,906,842,624 или 2пятьдесятбайтов.

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

Обратите внимание, что килобайт, мегабайт, гигабайт, терабайт и петабайт являются степенью 10 байтов. Но кибибайт, мебибайт, гибибайт, тебибайт и пебибайт являются степенями двух байтов. Для нас, людей, легко вычислить в степени 10 (десятичная система счисления), поскольку у нас 10 пальцев. Но для компьютеров проще производить вычисления в степени двойки (двоичная система счисления). Итак, компьютеры используют степень двойки для обозначения объема хранилища или памяти.

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

Сокращенные обозначения или символы приведены ниже.

  • Байтов: B
  • Килобайт: КБ или КБ
  • Мегабайт: МБ
  • Гигабайт: ГБ
  • Терабайт: ТАКЖЕ
  • Петабайт: PB
  • Байтов: B
  • кибибайт: KiB или K
  • Мебибайт: MiB или M
  • Gibibyte: ГиБ или Г
  • Тебибайт: TiB или T
  • Пебибайт: PiB или P

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

Память против свопа в Linux:

В Linux физическая память называется объем памяти . Когда физическая память заполняется, Linux разумно перемещает менее часто используемые данные из памяти в определенную часть диска (HDD или SSD). Эта часть диска называется свопом.

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

Диск подкачки работает очень медленно по сравнению с ОЗУ или физической памятью. Если система Linux широко использует пространство подкачки, система может стать очень медленной и не отвечать. Таким образом, система Linux не должна использовать пространство подкачки. Мы хотим этого избежать, насколько это возможно. Когда система Linux начинает заполнять пространство подкачки, это признак того, что системе Linux требуется больше физической памяти. Рекомендуется добавить в систему больше оперативной или физической памяти.

Проверка использования памяти с помощью бесплатного:

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

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

$бесплатно

В бесплатно Команда без каких-либо параметров командной строки отображает информацию об использовании памяти и подкачки в единицах кибибайт.

По умолчанию бесплатно показывает использование буферов и кеш-памяти в бафф / кеш столбец. Если вы хотите увидеть отдельно буферы и кеш-память, запустите команду free с вариант следующим образом:

$бесплатно

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

Бесплатная команда показывает следующую информацию:

общий: Это общая доступная физическая память и пространство подкачки (в кибибайтах) вашей системы Linux.

использовал: Это объем физической памяти и пространства подкачки, который используется вашей системой Linux. Обратите внимание, что на моем компьютере с Ubuntu используется 0 КиБ пространства подкачки. Итак, он вообще не использует своп. Это очень хорошо.

бесплатно: Это объем физической памяти, который еще не используется.

общий: Это объем памяти, который используется разными процессами или программами. Одна или несколько программ Linux могут использовать одну и ту же библиотеку или вызовы функций. Вместо того, чтобы выделять память несколько раз для одних и тех же вещей, Linux разумно разделяет общие вещи между этими процессами или программами. Это экономит физическую память. В tmpfs файловые системы (т.е. / dev / shm , /запустить , / запустить / заблокировать , / запустить / пользователь / , / sys / fs / cgroup и т. д.) также используют некоторую физическую память, которая используется всеми процессами и программами в Linux.

буферы: Это объем памяти, который используется буферами ядра. Буфер - это блок памяти, в котором данные временно хранятся при перемещении данных из одного места в другое.

кеш: Это объем физической памяти, используемой для данных кеша.

бафф / кеш: Это общий объем физической памяти, используемой для буферов и кеша.

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

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

Например, чтобы просмотреть информацию об использовании памяти и подкачки в байтах, запустите команду бесплатно команда с -b или –Байты вариант следующим образом:

$бесплатно -b

Чтобы просмотреть информацию об использовании памяти и подкачки в кибибайтах (по умолчанию), запустите бесплатно команда с или –Киби вариант следующим образом:

$бесплатно

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

$бесплатно

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

$бесплатно -грамм

Таким же образом вы можете использовать -тебе а также –Pebi параметры командной строки для отображения информации об использовании памяти и подкачки в тебибайтах и ​​пебибайтах соответственно.

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

$бесплатно --кило

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

$бесплатно --мега

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

$бесплатно --гига

Таким же образом вы можете использовать –Tera а также -карта параметры командной строки для отображения информации об использовании памяти и подкачки в терабайтах и ​​петабайтах соответственно.

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

Для удобочитаемого вывода запустите бесплатно команда с -час или -человек вариант следующим образом:

$бесплатно -час

Как видите, человекочитаемый формат действительно прост для понимания.

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

Если вы хотите увидеть вывод в удобочитаемой системе счисления с основанием 10 или десятичной системой счисления (степень 10), то запустите бесплатную команду с -час или -человек параметр командной строки, а также -Да параметр командной строки следующим образом:

$бесплатно --человек --Да

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

Если вы хотите отобразить общий объем памяти и информацию об использовании подкачки, запустите команду free с параметром -t или –total следующим образом:

$бесплатно -t

Как видите, общая информация об использовании памяти (физическая + своп) отображается в конце вывода.

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

Вы можете запустить бесплатно в режиме мониторинга с -s или –Секунды параметр командной строки следующим образом:

$бесплатно -s <задерживать>

Или,

$бесплатно–Секунды<задерживать>

Здесь, - количество секунд, по истечении которых на экране будет распечатана новая информация об использовании памяти и подкачки.

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

$бесплатно -s 5

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

Если вы хотите остановить бесплатно команда, нажмите + C .

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

Например, чтобы распечатать информацию об использовании памяти и обменять местами 5 раз с интервалом в 10 секунд, запустите команду бесплатно команду следующим образом:

$бесплатно -s 10 -c 5

Как видите, бесплатно команда распечатала информацию об использовании памяти и подкачки только 5 раз с интервалом в 10 секунд.

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

$человек бесплатно

Справочная страница бесплатно команда должна отображаться.

Проверка использования памяти путем чтения файла / proc / meminfo:

Вы также можете проверить информацию об использовании памяти вашей системы Linux, прочитав / proc / meminfo файл.

Вы можете прочитать / proc / meminfo файл с помощью следующей команды:

$Кот /процентов/meminfo

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

Самая важная информация об использовании памяти в / proc / meminfo файлы:

MemTotal: Это общая установленная память или физическая память (RAM) системы Linux.

MemFree: Это объем неиспользуемой физической памяти (ОЗУ).

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

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

Кешировано: Это объем физической памяти, используемой в качестве кэш-памяти.

SwapCached: Это объем памяти, который был перемещен на диск подкачки и возвращен в физическую ОЗУ. Но данные по-прежнему кэшируются на диске подкачки.

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

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

Активный (анон): Это объем физической памяти, используемый анонимными файловыми системами tmpfs и общей памятью.

Неактивно (анон): Это объем физической памяти, используемой анонимными файловыми системами tmfs, и разделяемая память, которую можно восстановить.

Активный (файл): Это объем активно используемой кэш-памяти.

Неактивный (файл): Это объем кэш-памяти, который загружается заново или может быть восстановлен.

Неизбежно: Это объем памяти, который нельзя освободить, так как он заблокирован пользовательскими программами.

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

SwapTotal: Это общий размер диска подкачки.

SwapFree: Это объем свободного пространства подкачки.

Грязный: Общий объем памяти, ожидающий записи обратно на диск.

Обратная запись: Общий объем памяти, записываемой обратно на диск.

АнонСтраницы: Общий объем памяти, используемый страницами и отображаемый в таблицы страниц пользовательского пространства.

Сопоставлено: Объем памяти, который используется для файлов, созданных ядром Linux, например для библиотек, используемых различными программами.

Пример: Это объем памяти, который совместно используется и используется файловыми системами tmpfs.

K Объем памяти, который запрашивается ядром и может быть освобожден при необходимости.

Плита: Это объем памяти, который используется ядром для кэширования структур данных для использования ядром.

Ответственный: Это объем памяти Slab, который можно освободить.

SUnreclaim: Это объем памяти Slab, который не может быть восстановлен даже при необходимости.

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

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

Подпрыгивать: Это объем памяти, используемый для буфера блочных устройств (то есть устройств хранения, таких как HDD или SSD).

WritebackTmp: Объем памяти, который используется для временных буферов обратной записи FUSE.

Есть много другой информации об использовании памяти в / proc / meminfo файл. Если вам интересно, вы можете взглянуть на них на странице руководства процентов .

Чтобы открыть справочную страницу процентов , выполните следующую команду:

$человек 5процентов

Должна быть открыта справочная страница proc.

Введите / proc / meminfo и нажмите . Он должен направить вас в раздел / proc / meminfo, как вы можете видеть на скриншоте ниже. Вы найдете описание каждого поля в / proc / meminfo файл здесь.

Проверка использования памяти с помощью top:

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

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

$Топ

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

В Топ команда покажет следующую информацию о физической памяти:

общий: Общая доступная физическая память системы.

бесплатно: Неиспользованный объем физической памяти.

использовал: Объем физической памяти, используемой системой.

бафф / кеш: Объем физической памяти, используемой в качестве кэш-памяти и буфера.

avail Mem: Объем физической памяти, доступной для новых программ.

В Топ команда покажет следующую информацию о свопе:

общий: Общий объем доступной своп-памяти системы.

бесплатно: Объем свободной памяти подкачки в системе.

использовал: Объем памяти подкачки, используемой системой.

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

Например, нажатие м один раз переключится в следующий режим. В этом режиме Топ показывает информацию об использовании физической памяти и подкачки как процент_памяти_использовано / total_memory_in_mebibytes .

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

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

По умолчанию Топ команда показывает следующую информацию об использовании памяти:

УВАЖАЕМЫЕ: Это размер виртуальной памяти процесса. Виртуальная память - это общая физическая память и память подкачки, используемая процессом.

ГОВЯДИНА: Это размер резидентной памяти процесса. Резидентная память - это объем физической памяти, который использует процесс.

SHR: Это размер общей памяти процесса. Это объем памяти, который использует процесс, который также используется некоторыми другими процессами.

% MEM: Процент физической памяти, используемой процессом.

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

КОД: Это размер кода процесса. Это объем физической памяти, выделенной для исполняемого кода процесса. Он также известен как резидентный набор текста или TRS.

ДАННЫЕ: Это данные и размер стека процесса. Это объем памяти, зарезервированный процессом. Возможно, он еще не сопоставлен с физической памятью. Но он всегда будет отображаться в виртуальной памяти (VIRT) процесса. Он также известен как резидентный набор данных или DRS.

RSan: Это размер резидентной анонимной памяти процесса. Это подмножество физической памяти (RES), представляющее частные страницы, которые еще не сопоставлены с файлом.

RSfd: Это размер резидентной файловой памяти процесса. Это подмножество физической памяти (RES), которая представляет собой совместно используемые страницы и вспомогательные образы программ, совместно используемые библиотеки, сопоставления файлов и т. Д.

РСш: Это размер резидентной общей памяти процесса. Это подмножество физической памяти (RES), которая представляет общие анонимные страницы.

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

ПОМЕНЯТЬ МЕСТАМИ: Это измененный размер процесса. Это объем информации о физической памяти (RES), который перемещается в дисковое пространство подкачки из физической памяти.

ИСПОЛЬЗОВАЛ: Это общий объем памяти (физическая + своп), который использует процесс.

ИСПОЛЬЗУЕТСЯ = RES + SWAP.

Обратите внимание, что физическая память (RES), используемая процессом, представляет собой сумму размера резидентной анонимной памяти (RSan), размера резидентной файловой памяти (RSfd) и размера резидентной общей памяти (RSsh).

RES = RSan + RSfd + RSsh

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

С помощью клавиш со стрелками перейдите к отмеченным столбцам и нажмите чтобы переключить его. Включенные столбцы будут иметь * отметка слева.

Когда вы закончите, нажмите какие чтобы вернуться в верхнее окно мониторинга процесса. Как видите, отображаются столбцы информации об использовании памяти SWAP, CODE, DATA, USED, RSan, RSfd, RSlk, RSsh.

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

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

Топ информация об использовании памяти отображается в мебибайтах.

Топ информация об использовании памяти отображается в гибибайтах.

Топ информация об использовании памяти отображается в тебибайтах.

Топ информация об использовании памяти отображается в пебибайтах.

В вашей операционной системе Linux выполняется множество процессов. Верхняя команда не может показать их все сразу. Вы можете нажать и удерживать а также клавиши со стрелками для перемещения по списку процессов Топ отображается команда.

Вы также можете отсортировать вывод команды top по определенному столбцу.

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

Затем выберите столбец SWAP с помощью клавиш со стрелками на клавиатуре и нажмите s .

Поле сортировки Топ команду следует изменить на SWAP. Нажмите какие чтобы вернуться в окно мониторинга процесса.

Как видите, сначала перечислены процессы, которые используют больше всего пространства подкачки.

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

Проверка использования памяти с помощью htop:

htop это программа просмотра процессов Linux в реальном времени, как и Топ . Но htop имеет дополнительные функции, которые Топ не. Самая очевидная новая функция htop подсветка синтаксиса и улучшенный пользовательский интерфейс. Ты можешь сказать htop расширенный Топ .

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

Установить htop в Ubuntu / Debian выполните следующие команды:

$судоподходящее обновление
$судоподходящийустановить htop -а также

ЗАМЕТКА: В CentOS / RHEL, htop доступен в репозитории EPEL. Перед установкой htop , у вас должен быть репозиторий EPEL ( эпель-релиз package), установленный в вашей системе CentOS / RHEL.

Установить htop в CentOS 7 / RHEL 7 выполните следующие команды:

$судо ням установитьэпель-релиз-а также
$судо ням установить htop -а также

Установить htop в CentOS 8 / RHEL 8 выполните следующие команды:

$судоdnfустановитьэпель-релиз-а также
$судоdnfустановить htop -а также

Один раз htop установлен, вы можете запустить его с помощью следующей команды:

$htop

Htop должен начаться.

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

Информация об использовании памяти и подкачки представлена ​​в формате использовал / общий . htop автоматически выберет единицу измерения (кибибайт, мебибайт, гибибайт, тебибайт или пебибайт) для наилучшего описания информации об использовании памяти и подкачки.

Полосы использования памяти и подкачки представлены разными цветами. Цвета имеют значение.

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

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

Вернуться к основному htop окно, нажмите какие .

Словно Топ , то htop Программа также показывает информацию об использовании памяти каждым из процессов, запущенных в вашей системе Linux. htop автоматически выберет единицу измерения (кибибайт, мебибайт, гибибайт, тебибайт или пебибайт), чтобы лучше всего описать использование памяти каждым из процессов.

По умолчанию htop команда показывает следующую информацию об использовании памяти:

ВИРТ / M_SIZE: Это размер виртуальной памяти процесса. Виртуальная память - это общая физическая память и память подкачки, используемая процессом.

RES / M_RESIDENT: Это размер резидентного набора процесса. Резидентная память - это объем физической памяти, который использует процесс. Это равно тексту + данные + стек или M_TRS + M_DRS.

SHR / M_SHARE: Это размер разделяемой памяти процесса. Это объем памяти, который использует процесс, который также используется некоторыми другими процессами.

% MEM / PERCENT_MEM: Процент физической памяти, используемой процессом.

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

КОД / M_TRS: Это размер кода процесса. Это объем физической памяти, выделенной для исполняемого кода процесса.

ДАННЫЕ / M_DRS: Это данные и размер стека процесса. Это объем памяти, зарезервированный процессом. Возможно, он еще не сопоставлен с физической памятью. Но он всегда будет отображаться в виртуальной памяти (VIRT / M_SIZE) процесса.

LIB / M_LRS: Это размер библиотеки процесса. Это объем физической памяти, который использует код библиотеки (используемый процессом / программой).

ГРЯЗНЫЙ / M_DT: Это размер грязных страниц процесса. Раздел / страница, измененная в буфере, называется грязной страницей.

Чтобы включить эти столбцы информации о памяти, запустите htop и нажмите F2 .

Затем перейдите к Столбцы от Настраивать раздел, выберите столбец, перед которым вы хотите добавить новые столбцы из Активные столбцы раздел, выберите столбец, который вы хотите добавить, из Доступные столбцы раздел и нажмите чтобы добавить столбец.

Столбец следует добавить в Активные столбцы раздел.

Таким же образом добавьте другие столбцы памяти (столбцы, начинающиеся с M_ ). Когда вы закончите, нажмите вернуться к основному htop окно.

Как видите, добавлены дополнительные столбцы с информацией об использовании памяти.

Вы можете просмотреть процессы в в виде дерева . С этой точки зрения процессы организованы отношениями родитель-потомок.

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

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

Вы также можете отсортировать процессы по разным столбцам использования памяти. По умолчанию процессы сортируются по загрузке ЦП (% ЦП).

Чтобы отсортировать процессы по определенному столбцу, нажмите F6 .

Затем выберите столбец, по которому вы хотите отсортировать процессы из списка Сортировать по раздел и нажмите .

Я отсортирую процессы по M_RESIDENT / ГОВЯДИНА колонка для демонстрации.

Как видите, процессы хорошо отсортированы по использованию резидентной памяти.

В htop программа перечисляет множество процессов. Все эти процессы не могут быть отображены в окне / экране ограниченного размера. Но вы можете нажать а также клавиши со стрелками для удобной навигации по списку процессов.

Проверка использования памяти с помощью smem:

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

По математике это выглядит так,

использование физической памяти процессом = использование общей памяти + использование неразделенной памяти

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

По математике это выглядит так,

использование физической памяти процессом =(использование общей памяти/количество процессов, разделяющих память)
+ неразделенная память

Я могу не предустановлен по умолчанию в большинстве дистрибутивов Linux. Но он доступен в официальном репозитории пакетов большинства дистрибутивов Linux.

В Ubuntu / Debian вы можете установить Я могу с помощью следующих команд:

$судоподходящее обновление
$судоподходящийустановитьЯ могу-а также

В CentOS / RHEL 7, Я могу доступен в репозитории пакетов EPEL. Итак, вы должны добавить репозиторий EPEL в CentOS / RHEL 7 для установки Я могу .

На CentOS / RHEL 7 вы можете установить Я могу с помощью следующих команд:

$судо ням установитьэпель-релиз-а также
$судо ням установитьЯ могу-а также

К несчастью, Я могу недоступен в официальном репозитории пакетов или репозитории EPEL CentOS / RHEL 8. У вас должна быть возможность скомпилировать Я могу из источника или загрузите Я могу двоичный из официальный сайт смема .

Если вы хотите скомпилировать Я могу из источника, то вы можете скачать исходный код smem из официальная исходная страница смем .

Если вы хотите скачать Я могу предварительно скомпилированный двоичный файл, затем вы можете скачать его с Официальная страница загрузки smem .

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

Чтобы узнать, сколько памяти использует пользователь Linux, запустите Я могу следующее:

$судоЯ могу-ты

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

Я могу использует следующие блоки:

K - Кибибайт

М - Мебибайт

G – Gibibyte

Т - Тебибайт

P - Пебибайт

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

В -u опция используется для отображения информации об использовании памяти пользователем.

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

Я могу показывает следующую информацию об использовании памяти пользователем:

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

Считать: Количество процессов, которые пользователь выполняет в данный момент.

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

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

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

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

По умолчанию, Я могу показывает информацию об использовании памяти в порядке возрастания (от наименьшего к наибольшему). Если вы хотите видеть информацию об использовании памяти в порядке убывания (от наибольшего к наименьшему), используйте вариант Я могу следующее:

$судоЯ могу-каур

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

Если вы хотите увидеть общую информацию об использовании памяти пользователем, запустите Я могу с -t вариант следующим образом:

$судоЯ могучерез

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

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

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

$судоЯ могу-пау

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

Если вы хотите увидеть информацию об использовании системной памяти или сводку об использовании системной памяти, запустите Я могу с вариант следующим образом:

$судоЯ могу-кау

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

Я могу отображает следующую информацию об использовании памяти в масштабе всей системы:

Площадь: Часть системы, для которой используется память.

Использовал: Объем физической памяти, используемой для этой области.

Кэш: Объем физической памяти, используемой в качестве кэш-памяти для этой области.

Без кеша: Объем физической памяти, используемой для этой области, которая не кэшируется.

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

$судоЯ могу-осторожный

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

Для этого запустите Я могу следующее:

$судоЯ могу-кар

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

Я могу отображает следующую информацию об использовании памяти процессами:

PID: Идентификатор процесса.

Пользователь: Имя пользователя, запустившего процесс или владеющего процессом.

Команда: Команда, которая используется для запуска процесса.

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

USS: Это уникальный размер набора процесса. Это объем физической памяти, используемой процессом, которая не используется совместно с другими процессами.

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

RSS: Это размер резидентного набора процесса. Это объем физической памяти и общей физической памяти, которую использует процесс.

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

Чтобы просмотреть информацию об использовании памяти каждым файлом библиотеки, загруженным в физическую память вашего компьютера, запустите Я могу с вариант следующим образом:

$судоЯ могу-камр

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

Я могу показывает следующую информацию об использовании памяти в зависимости от библиотеки:

Карта: Файл библиотеки, сопоставленный с физической памятью вашего компьютера.

PID: Общее количество процессов, использующих этот файл библиотеки.

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

AVGPSS: Это средний пропорциональный размер набора процессов, использующих этот файл библиотеки. Это средняя физическая память, которая совместно используется каждым из процессов (использующих этот файл библиотеки). Вы также можете сказать AVGPSS = PSS / PIDs (about).

Проверка использования памяти с помощью vmstat:

vmstat - еще одна программа для проверки использования памяти в Linux. Он отображает почти ту же информацию, что и в / proc / meminfo файл.

Чтобы просмотреть информацию об использовании памяти, запустите vmstat следующее:

$vmstat -s

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

vmstat показывает следующую информацию об использовании памяти:

Общий объем памяти: Общая доступная физическая память вашего компьютера.

используемая память: Общий объем используемой физической памяти вашего компьютера.

свободная память: Общая свободная физическая память вашего компьютера.

общий своп: Общее доступное место на диске подкачки.

использованный своп: Объем используемого дискового пространства подкачки.

бесплатный обмен: Объем свободного места на диске подкачки.

кеш подкачки: Объем дискового пространства подкачки, используемого в качестве кеша.

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

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

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

Проверка использования памяти с помощью системного монитора GNOME:

GNOME System Monitor - это графическое программное обеспечение для мониторинга использования памяти, запущенных процессов и использования диска. Он предустановлен в среде рабочего стола GNOME 3, Ubuntu MATE, Cinnamon и Budgie.

Вы можете увидеть информацию об использовании памяти и подкачки в Ресурсы вкладка Системный монитор GNOME как вы можете видеть на скриншоте ниже.

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

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

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

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

Если вы хотите увидеть дополнительную информацию об использовании памяти для процессов, щелкните правой кнопкой мыши (ПКМ) в строке заголовка и установите флажок Виртуальная память , Резидентная память , а также Общая память как показано на скриншоте ниже.

Информация об использовании виртуальной (VIRT), резидентной (RES) и общей (RSS) памяти для процессов должна отображаться, как вы можете видеть на снимке экрана ниже.

Эта информация об использовании памяти такая же, как и в Топ или htop .

По умолчанию системный монитор GNOME отображает только процессы, принадлежащие вашему пользователю, вошедшему в систему. Если вы хотите увидеть список всех процессов, принадлежащих каждому пользователю вашей системы, щелкните гамбургер-меню (

) и выберите Все процессы как показано на скриншоте ниже.

Если вы хотите увидеть процессы в виде дерева (отношения родитель-потомок), щелкните гамбургер-меню (

) и проверьте Показать зависимости как показано на скриншоте ниже.

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

Проверка использования памяти с помощью KSysGuard:

KSysGuard - это графическое программное обеспечение для мониторинга использования памяти и запущенных процессов. Он предустановлен в среде рабочего стола KDE Plasma.

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

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

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

Вы можете щелкнуть правой кнопкой мыши (ПКМ) в строке заголовка и выбрать Показать столбец «Виртуальный размер» а также Показать столбец «Общая память» чтобы увидеть дополнительную информацию об использовании памяти.

Как видите, KSysGuard теперь показывает размер виртуальной памяти (VIRT), а также общее использование физической памяти для каждого из запущенных процессов.

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

Для просмотра в виде дерева выберите Все процессы, Дерево из раскрывающегося меню.

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

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

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

Если вы хотите видеть только процессы, принадлежащие зарегистрированному пользователю, выберите Собственные процессы .

Если вы хотите видеть только программы, запущенные на вашем компьютере, а не процессы, выберите Только программы из раскрывающегося меню. В списке будут только те прикладные программы, которые работают на вашем компьютере.

Заключение:

В этой статье я рассмотрел наиболее распространенные способы проверки использования памяти в Linux. Я показал, как проверить использование памяти в системах Linux из командной строки, а также из графической среды рабочего стола. Я объяснил, как использовать такие программы, как бесплатно , Топ , htop , Я могу , vmstat , Системный монитор GNOME , а также KSysGuard чтобы проверить использование памяти Linux. Я также обсудил выходной формат этих команд и программ. Эта статья должна помочь вам начать работу с проверкой использования памяти Linux и дать вам глубокие знания об инструментах проверки использования памяти Linux.