어떤 프로세스가 CPU 사용량을 높이는지 터미널에서 알아낼 수 있는 방법이 있나요?
CPU 사용량에 따라 프로세스를 내림차순으로 정렬하는 것도 유용합니다.
답변1
ps -eo pcpu,pid,user,args | tail -n +2 | sort -k1 -r -n | head -10
나에게 적합하며 스레드를 사용하여 상위 10개 CPU를 숫자로 정렬하여 표시합니다.
답변2
top
CPU 사용량이 표시됩니다. 설치하면 htop
CPU별 필터링을 포함해 더욱 세밀한 제어가 가능해집니다.
답변3
ps
및 명령 외에도 다음을 실행하여 시스템의 CPU 및 메모리 사용량을 이해할 top
수도 있습니다 .vmstat
vmstat 1 100
위와 같이 하면 초당 100개의 다양한 통계 샘플을 얻을 수 있습니다. r
OR b
열에 숫자(더 높음 = 더 많은 리소스 사용)가 있으면 스크립트가 차단된 것입니다. r
CPU, b
대개 디스크나 네트워크 등입니다. IO가 차단됩니다.
출력 예:
$ vmstat 1 100
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 288700 17592 1920048 0 0 4482 3297 47 155 8 2 78 12 0
0 0 0 268420 17904 1920584 0 0 788 36 4095 4759 11 3 85 1 0
0 0 0 269916 17940 1920868 0 0 108 560 6969 7280 11 2 86 1 1
3 0 0 267684 18196 1921304 0 0 256 0 5934 6094 9 2 90 0 0
0 0 0 257800 18196 1921528 0 0 0 0 5412 5508 10 1 89 0 1
1 0 0 257368 18196 1922028 0 0 0 0 5852 6046 9 1 89 0 1
0 0 0 256872 18200 1922236 0 0 0 0 5345 5566 9 1 90 0 0
0 0 0 256688 18208 1922292 0 0 0 1788 5388 5602 7 2 90 1 1
0 0 0 256520 18208 1922684 0 0 0 0 5387 5557 8 1 91 0 0
1 0 0 255788 18208 1923024 0 0 0 0 4992 5363 10 1 89 0 1
1 0 0 255392 18208 1923456 0 0 0 0 5027 5145 13 1 86 0 0
0 0 0 254980 18208 1923792 0 0 0 0 5042 5082 21 1 77 0 1
0 0 0 254452 18216 1924092 0 0 0 1848 5481 5695 7 1 91 1 1
0 0 0 254416 18216 1924268 0 0 0 0 4947 5250 7 1 92 0 0
1 0 0 253732 18216 1924616 0 0 0 0 5180 5383 8 2 90 0 1
0 0 0 253584 18216 1924912 0 0 12 0 4464 4623 8 1 91 0 0
0 0 0 243496 18216 1925224 0 0 0 0 5507 5700 9 1 90 0 1
0 0 0 243008 18224 1925504 0 0 0 1356 5070 5345 8 1 90 0 1
1 0 0 243220 18228 1925676 0 0 0 0 6241 6533 11 2 87 0 0
답변4
"맨 위" top과 비슷하지만 CPU의 "컬러 텍스트 기반 그래픽" 디스플레이가 있고 프로세스의 트리 구조도 표시하므로 프로세스에 하위 프로세스가 있고 프로세스 수가 몇 개인지 알 수 있습니다.
또한 노트북 배터리 잔량과 충전 여부도 표시됩니다. 이전에는 몰랐던 기능입니다!