나는 새로운 UNIX 서버에서 매우 큰 메모리 집약적 프로그램을 실행하고 있으며 "top" 명령의 출력을 완전히 이해하려고 노력하고 있습니다. 이것이 지금 내가 보는 것입니다(첫 번째 프로세스만 표시됨).
load averages: 1.51, 1.48, 1.45; up 59+12:23:36 08:57:47
194 processes: 191 sleeping, 1 zombie, 2 on cpu
CPU states: 99.5% idle, 0.4% user, 0.1% kernel, 0.0% iowait, 0.0% swap
Kernel: 2045 ctxsw, 73 trap, 2891 intr, 1797 syscall, 23 flt, 48 pgout
Memory: 256G phys mem, 214G free mem, 22G total swap, 22G free swap
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
15382 bd9439 22 1 4 7799M 7787M cpu/147 21.9H 0.39% sas
"cpu" 뒤의 "STATE" 열에 있는 숫자(이 경우 147)는 무엇을 의미합니까? 페이지에는 man
다음과 같은 내용만 나와 있습니다.
STATE
Current state (typically one of "sleep", "run", "idl",
"zomb", or "stop").
이는 Solaris 10을 실행하는 새로운 Oracle T4-4 서버이며 아직 "프로덕션" 단계에 있지 않습니다. 즉, 현재 실행 중인 유일한 서버라는 의미입니다.
Solaris 10 및 상위 버전 3.7:
bd9439@bsprd697 $ uname -a
SunOS bsprd697 5.10 Generic_148888-01 sun4v sparc sun4v
bd9439@bsprd697 $ top --version
top: version 3.7
답변1
상태= 프로세스 상태( prstat
명령 매뉴얼 페이지에서 가져옴):
cpuN - 프로세스가 CPU N에서 실행 중입니다.
sleep - sleep: 프로세스가 이벤트가 완료되기를 기다리고 있습니다.
대기 - 대기: 프로세스는 CPU 사용량이 CPU 상한 적용 한도까지 떨어질 때까지 기다리고 있습니다. Resource_controls(5)의 CPU 상한에 대한 설명을 참조하세요.
실행 - 실행 가능: 대기열에 있는 프로세스를 실행합니다.
좀비 - 좀비 상태: 프로세스가 종료되고 상위 프로세스가 기다리지 않습니다.
중지 - 프로세스가 중지됩니다.