여러 PID를 모니터링하려면 top을 사용하세요.

여러 PID를 모니터링하려면 top을 사용하세요.

여러 프로세스의 메모리 사용량을 모니터링하고 싶었고 다음과 같은 명령을 생각해냈습니다.

ps aux |grep -e postgres -e unicorn -e nginx|cut -d' ' -f2|for i in $(xargs); do echo $i; done

16112
16113
...

top -p $i모든 PID의 메모리 소비에 대한 전체적인 그림을 얻을 수 있도록 매개변수를 공급하기 위해 마지막 파이프 뒤의 비트를 어떻게 변경합니까 ? 마지막 명령은 다음과 같은 top -p<pid1> -p<pid2>결과를 생성합니다.

답변1

어때요?

pids=( $(pgrep 'postgres|unicorn|nginx') )

PID를 배열에 넣은 다음

top "${pids[@]/#/-p }"

그것들을 다시 뱉어 top내고 각각 앞에-p

관련 정보