ps를 사용하여 가장 많은 CPU를 차지하는 5개 프로세스를 표시하는 방법은 무엇입니까?
답변1
ps
명령을 사용하여 쉽게 수행할 수 있는데 왜 사용합니까 top
?
을 사용해야 하는 경우 ps
다음을 시도해 보세요.
ps aux | sort -nrk 3,3 | head -n 5
정말 "최고"이고 지속적으로 업데이트되는 것을 원한다면 watch를 사용하세요.
watch "ps aux | sort -nrk 3,3 | head -n 5"
답변2
정답은:
ps --sort=-pcpu | head -n 6
따라서 정렬을 방해하지 않고 열을 지정할 수 있습니다.
전임자:
ps -Ao user,uid,comm,pid,pcpu,tty --sort=-pcpu | head -n 6
MAC OS X에 대한 참고 사항: Mac OS X에서는 ps
인식되지 않지만 현재 CPU 사용량을 기준으로 정렬 --sort
할 수 있습니다 . -r
따라서 Mac OS X의 경우 다음을 사용할 수 있습니다.
ps -Ao user,uid,comm,pid,pcpu,tty -r | head -n 6
답변3
ps
나는 이것이 당신이 찾고 있는 것이라고 생각하지 않습니다 . 출력을 보셨나요 top
?
GNU-Top이 있는 경우 배치 모드를 사용하여 CPU 사용량에 따라 정렬된 프로세스 목록을 표시하고 head/tail을 사용하여 처음 5줄을 가져옵니다(처음 8줄은 헤더입니다).
top -b -n 1 | head -n 12 | tail -n 5
BSD 상단은 다르게 동작하는 것으로 보이며 비대화형 모드가 없으므로 ps
다른 기반 솔루션 중 하나를 사용하십시오.
답변4
내가 찾은 가장 빠른 라이너 하나(헤더가 합산되기 때문에 참고 6):
ps aux k-pcpu | head -6