Доступная память уменьшается по мере использования, и закрытие приложений/перезапуск X не восстанавливает ее

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

Например, если я хочу увидеть, что запускает этот sleepпроцесс, я могу найти его PPID.

$ ps -ef | grep "sleep"
user       2470  1996  0 06:30 pts/1    00:00:00 sleep 60

PID 1996 — это PPID процесса sleep. Давайте grepдля этого сейчас.

$ ps -ef | grep 1996
user       1996  1995  0 05:57 pts/1    00:00:00 bash

PID 1996 представляет собой bashоболочку, что является хорошим признаком того, что sleepпроцесс может работать с терминала. Чтобы сделать еще один шаг вперед, вы можете grepдля PPID процесса bash.

$ ps -ef | grep 1995
user       1995   448  0 05:57 tty1     00:00:00 /usr/bin/urxvt

PPID процесса bashurxvt, виртуальный терминал. Итак, команда sleepзапускается с терминала.

1
01.08.2020, 11:49
1 ответ

free показывает высокое значение для «shared» и этот обмен отключен. Если /tmp смонтирован как tmpfs, любые файлы фактически хранятся в общей памяти и без подкачки, система не может поменять их местами, чтобы освободить память.

Проверьте с помощью dfи посмотрите, сколько места используется в /tmp, что может объяснить разница, которую вы видите между памятью приложения и общей системной памятью.

1
18.03.2021, 23:15

Теги

Похожие вопросы