음 우선 제가 말씀드리는 것은 책에서 읽거나 검증된 확실항 사실은
아니고 제가 혼자서 추론해본 것이란 것을 미리 밝힙니다.
틀린 것 발견하신 분은 수정해 주시길...
D uninterruptible sleep (usually IO)
이것은 괄호안에 힌트가 있습니다. 프로세스가 sleep상태라는건
말하자면 어떤 한 부분에서 더이상 진행하지 않고 멈춰있는 것이죠.
여기서 그냥 할 일이 없다거나 자기 순서가 안돌아와서 멈춰있으면
그것은 그냥 S이고 어떤 IO작업이 끝나길 기다리느라 멈춰있으면
D상태인 것이죠. 대용량의 파일을 복사한다거나 하는 Disk I/O를
많이 발생하는 작업이 있을 때 흔히 볼 수 있습니다.
R runnable (on run queue)
이건 S의 반대겠죠. ps명령이 실행되는 순간 현재진행형 상태에 있는
프로세스에 나타납니다. 재미있는 것은 대개의 경우 R상태를 갖는 것은
ps 명령 자신입니다. 왜인지는 한번 생각해보시길...
T traced or stopped
어떤 명령을 실행중일 때 Ctrl+Z를 누르면 그 프로세스의 진행을
멈출 수 있죠. 물론 일반적인 경우에요. 그렇게 멈추어진 넘들이
T상태를 갖습니다.
Z a defunct ("zombie") process
좀비가 뭐죠? 죽었으나 죽지 않은 시체가 바로 좀비죠.
프로세스가 정상종료되면 프로세스목록에서 제거가 될텐데
비정상 종료로 인해 목록에 남아있게 되면 좀비프로세스입니다.
실제로는 죽은 상태라 실행은 안되죠.
W has no resident pages
제가 resident memory가 뭔지 확실히 몰라서 해설을 못하고요.
ps aux 해보시면 RSS라는 항목이 나타납니다. 바로 resident mem의
용량을 나타내는 항목인데요 W가 붙은 넘들은 모두 RSS가 0이지요.
< high-priority process
N low-priority task
프로세스가 일정수준 이상의 우선순위를 가지면 high-priority겠고
보통보다도 낮은 우선순위를 가지면 low-priority겠죠.
L has pages locked into memory (for real-time and custom IO)
자 괄호안에 힌트가 있군요. real-time I/O등을 다루는 프로세스라면
스왑이 되면 안되는 부분이 있겠죠? 그래서 그 프로세스가 차지하는
메모리 공간중에 스왑의 대상이 되지 못하게 lock된 부분이 있다는 것이겠군요.--월드컵 개
막前: 16강 못가도 돼! 요즘(평가전)처럼만 뛰어줘! 조별리그전中: 아~ 제발 좀 이겨줘~!
이탈리아경기中: 이탈리아를 밟아버려~~~!!! -0-
지금: 이러다 결승가겠네... 근데 김남일은 어쩌지? ㅜㅜ