Как проверить, сколько процессов занимает память?
Как мы знаем на машинах Linux, у нас есть оперативная память и память подкачки.
Мой первый вопрос:
В чем причина увеличения объема подкачки памяти - из-за высокого уровня использования оперативной памяти или чего-то еще?
Второе - возможно ли проверить, сколько памяти занимает процесс?
пример из верхней команды:
Можно ли рассчитать, сколько памяти использует сторожевой процесс?
Tasks: 107 total, 1 running, 106 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.8%us, 0.5%sy, 0.0%ni, 98.0%id, 0.5%wa, 0.0%hi, 0.1%si, 0.0%st
Mem: 2075440k total, 2011396k used, 64044k free, 120452k buffers
Swap: 4192924k total, 1554096k used, 2638828k free, 1418852k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 15 0 2160 600 544 S 0.0 0.0 1:00.91 init
2 root RT -5 0 0 0 S 0.0 0.0 0:04.50 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.16 ksoftirqd/0
4 root RT -5 0 0 0 S 0.0 0.0 0:00.01 watchdog/0
1 ответ
Решение
Своп действительно используется, когда вся оперативная память выделена.
Процесс watchdog на самом деле является потоком ядра, поэтому вы не можете получить его конкретное использование памяти, поскольку оно является частью ядра.
Регулярное использование оперативной памяти сообщается в столбце RES (резидент).