объем памяти

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

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

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

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

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

В этой статье я покажу вам, как проверить использование памяти каждым из процессов, запущенных на вашем Linux-компьютере. Я буду использовать Debian 9 Stretch для всей демонстрации в этой статье. Но он должен работать на любых современных дистрибутивах Linux. Давайте начнем.

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

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

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

$ ps -o pid, пользователь,% mem, команда ax | сортировать -b -k3 -r

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

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

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

Допустим, вы хотите проверить, сколько памяти использует процесс с PID 917. Для этого запустите pmap следующим образом:

$ sudo pmap 917

Как видите, общий объем памяти, используемый процессом 917, составляет 516104 КБ или килобайт. Вы также можете увидеть, сколько памяти используют библиотеки и другие файлы, необходимые для запуска процесса с PID 917, здесь.

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

$ sudo pmap 917 | хвост -n 1

Как видите, на экране отображается только общая память, используемая процессом с PID 917.

Если вы хотите, вы можете дополнительно отфильтровать это с помощью awk и получите только размер в КБ или килобайтах. Для этого запустите pmap следующим образом:

$ sudo pmap 917 | хвост -n 1 | awk '/ [0-9] K / print $ 2'

Как видите, печатается только использование памяти в килобайтах или килобайтах.

Теперь вы также можете указать, сколько памяти используется несколькими процессами, используя их PID с pmap следующим образом:

$ sudo pmap 917 531 | grep total

ПРИМЕЧАНИЕ: Здесь 917 и 531 - идентификаторы процесса или PID. Вы можете указать столько PID, сколько хотите.

Использование pmap для вывода списка использования памяти всеми процессами в килобайтах:

В этом разделе я покажу вам, как написать собственный сценарий оболочки, чтобы перечислить использование памяти всеми процессами, запущенными в вашей операционной системе Linux, в удобочитаемом формате (килобайты или КБ).

Сначала создайте новый файл sysmon в вашем текущем рабочем каталоге с помощью следующей команды:

$ touch sysmon

Теперь сделайте файл исполняемым с помощью следующей команды:

$ chmod + x sysmon

sysmon это сценарий оболочки, который отображает все запущенные процессы PID, ВЛАДЕЛЕЦ, ОБЪЕМ ПАМЯТИ (в КБ в порядке убывания) и КОМАНДА. Давайте начнем.

Открой sysmon скрипт с вашим любимым текстовым редактором, я собираюсь использовать Катя.

Теперь первая команда, которую я собираюсь запустить, даст мне PID, ВЛАДЕЛЕЦ а также КОМАНДА всех запущенных процессов, разделенных двоеточием (:), и сохраните его в RAWIN Переменная. Затем прокрутите вывод и распечатайте его на экране.

Как видите, я получаю правильный результат.

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

Как видите, я могу напечатать PID, ВЛАДЕЛЕЦ а также КОМАНДА в моем собственном формате сейчас.

Теперь пришло время получить данные об использовании памяти для каждого PID. Строка 10 делает именно это.

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

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

Наконец, я напечатал PID, ВЛАДЕЛЕЦ, ОБЪЕМ ПАМЯТИ (в КБ) и КОМАНДА каждого процесса в табличном формате, используя строку 14.

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

Чтобы исправить это, я удалил сортировать -bnr -k3 из строки 3 и обернул все в функцию оболочки sysmon_main (). Затем оставил работу по сортировке Сортировать команда.

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

Как видите, отлично работает.

Теперь вы можете переместить его куда-нибудь, например / usr / bin и выполните его, как и другие команды, следующим образом:

$ sudo mv -v sysmon / usr / bin

Выполнение sysmon:

Спасибо, что прочитали эту статью.

Как использовать Xdotool для стимулирования щелчков мыши и нажатия клавиш в Linux
Xdotool - это бесплатный инструмент командной строки с открытым исходным кодом для имитации щелчков мыши и нажатия клавиш. В этой статье будет краткое...
5 лучших эргономичных компьютерных мышей для Linux
Вызывает ли длительное использование компьютера боль в запястье или пальцах?? Вы страдаете от скованности суставов и постоянно должны пожимать руки? В...
Как изменить настройки мыши и сенсорной панели с помощью Xinput в Linux
Большинство дистрибутивов Linux по умолчанию поставляются с библиотекой libinput для обработки событий ввода в системе. Он может обрабатывать события ...