Получить использование ЦП и памяти одного процесса в Linux? - PullRequest
149 голосов
/ 03 августа 2009

Я хочу получить использование процессора и памяти для одного процесса в Linux - я знаю PID. Надеюсь, я могу получить его каждую секунду и записать его в CSV, используя команду «watch». Какую команду я могу использовать, чтобы получить эту информацию из командной строки Linux?

Ответы [ 17 ]

1 голос
/ 03 августа 2009

Чтобы получить использование памяти только вашим приложением (в отличие от используемых совместно используемых библиотек, вам нужно использовать интерфейс Linux smaps). Этот ответ хорошо объясняет .

1 голос
/ 25 января 2018

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

Вот пример того, как получить использование rss-памяти в КБ для всех процессов apache, замените «grep apache» на «grep PID», если вы просто хотите посмотреть конкретный PID:

watch -n5 "ps aux -y | grep apache | awk '{print \$2,\$6}'"

Это печатает:

Every 5.0s: ps aux -y | grep apache | awk '{print $2,$6}'                                                                                                                                                                                                          
Thu Jan 25 15:44:13 2018

12588 9328
12589 8700
12590 9392
12591 9340
12592 8700
12811 15200
15453 9340
15693 3800
15694 2352
15695 1352
15697 948
22896 9360

С ЦП%:

watch -n5 "ps aux -y | grep apache | awk '{print \$2,\$3,\$6}'"

Выход:

Every 5.0s: ps aux -y | grep apache | awk '{print $2,$3,$6}'                                                                                                                                                                                                       
Thu Jan 25 15:46:00 2018

12588 0.0 9328
12589 0.0 8700
12590 0.0 9392
12591 0.0 9340
12592 0.0 8700
12811 0.0 15200
15453 0.0 9340
15778 0.0 3800
15779 0.0 2352
15780 0.0 1348
15782 0.0 948
22896 0.0 9360
1 голос
/ 21 апреля 2016
ps axo pid,etime,%cpu,%mem,cmd | grep 'processname' | grep -v grep

PID - идентификатор процесса

etime - запуск процесса / длительность в реальном времени

% CPU - загрузка процессора

% mem - Использование памяти

cmd - Команда

Замените имя процесса любым процессом, который вы хотите отслеживать, mysql nginx, php-fpm и т. Д ...

0 голосов
/ 20 января 2019

Для тех, кто некоторое время боролся с вопросом, почему не работает выбранный ответ:

ps -p <pid> -o %cpu,%mem

Без пробела между %cpu, и %mem.

0 голосов
/ 03 июля 2018

Использование ЦП и памяти одного процесса в Linux, или вы можете получить топ-10 процессоров, используемых процессором, используя следующую команду

ps -aux --sort -pcpu | голова -n 11

0 голосов
/ 14 ноября 2017

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

        ps axo %cpu,%mem,command | sort -nr | head
0 голосов
/ 12 мая 2014

(Если вы находитесь в MacOS 10.10, попробуйте накопительную опцию -c top:

top -c a -pid PID

(Этот параметр недоступен в других linux, пробовал с Scientific Linux el6 и RHEL6)

...