Contents

조회 수 18364 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
# cat /proc/stat

cpu 3148 94 2538 716267
cpu0 3148 94 2538 716267
page 174593 61612
swap 1 0
intr 755470 722047 34 0 0 0 791 1 0 1 0 0 0 1159 0 31416 21
disk_io: (3,0):(6,6,48,0,0) (3,1):(31658,27506,348632,4152,123202) 
ctxt 471998
btime 1064663858
processes 9931

위에서부터 하나씩 설명 드립니다.

cpu는 user, nice, system, idle 순서로 출력되며, 
시스템에 설치된 cpu 전체에 대해서 나타내는 것이지만..
저의 시스템에는 cpu가 하나 밖에 없기 때문에.. cpu0와 같은 숫자로 나타납니다.
만약 cpu가 두개인 시스템에서는 다르게 나오겠지요..

cpu0는 user, nice, system, idle 순서로 출력되며, 첫번째 cpu에 대한 값입니다.
현재 cpu가 하나밖에 없기 때문에 cpu0만 나타납니다. 두개면 cpu1까지 나오겠지요...

page는 pages_in, pages_out 의 순서로 출력됩니다.
pages_in은 시스템으로 부터 읽은 페이지의 개수이며, pages_out은 시스템에 기록한 페이지의 개수입니다. 

swap는 swap_pages_in, swap_pages_out의 순서로 출력됩니다.
swap_pages_in 은 스왑으로 부터 읽은 페이지의 개수를 나타내며, swap_pages_out는 스왑에 기록한 페이지의 개수를 나타냅니다.

intr 은 interrupts_total, interrupts.. 로 출력됩니다.
interrupts_total은 전체 인터럽터의 수를 나타내며(뒤쪽에 나오는 모든 숫자를 합한 값과 같습니다), interrupts는 각각의 IRQ에 대한 인터럽트의 개수입니다.

disk_io는 디스크 입출력에 대한 전반적인 정보입니다.
표시 형식은 (major,minor):(noinfo, read_io_ops, blks_read, write_io_ops, blks_written) 이며,
자세한 사항을 잘 모르겠네요. 혹시 알게 되면 좀 알려주세요.

ctxt는 context switch로써, 리눅스 작업 스케쥴러에 의해 사용되는 모든 정보의 개수를 나타냅니다. 

btime 는 시스템이 부팅된 시간을 표시합니다. 단 표시 방법은 1970년 1월 1일을 기점으로 하여 시스템이 부팅된 시간을 초단위로 표시합니다.

processes 는 시스템이 부팅된 후 실행된 프로세스의 수입니다.

제가 정확히 알지를 못해서 자세한 설명은 못드렸습니다.

그럼..

/proc/$PID/stat 에 대해서 물었는데.. /proc/stat 에 대해서 답을 했네요..

/proc/$PID/stat 에 대해서 설명해 보겠습니다. 저의 시스템의 경우 아래와 같이 나오네요.

# cat /proc/1/stat
1 (init) S 0 0 0 0 -1 256 69 875204 119 2557185 0 395 2519 1926 15 0 0 0 34 1400832 119 4294967295 134512640 134536766 3221225280 3221224032 1108220030 0 0 1475401980 671819267 3222402956 0 0 0 0

처음부터 순차적으로 설명을 드리지요. (39개의 필드로 이루어졌네요.. ^^)

첫번째 필드는 pid를 나타냅니다. 즉 프로세스 id 이지요. 

두번째 필드의 괄호 안의 것은 프로세스 이름입니다. 실행되는 파일명입니다.

세번째 필드는 현재의 상태를 나타냅니다. "RSDZTW"중의 한 문자로 나타나며, R은 Running, S는 Sleeping, D는 iDle, Z은 Zombie, T는 Traced 또는 sTopped, W는 paging를 나타냅니다.

네번째 필드는 부모 프로세스의 PID를 나타냅니다.

다섯번째는 프로세스의 그룹 ID를 나타냅니다.

여섯번째는 프로세스의 세션 ID를 나타냅니다.

일곱번째는 현재 프로세스를 사용하고 있는 터미널(tty)을 나타냅니다.

여덟번째는 현재 프로세스를 사용하는 터미널(tty)의 소유자의 프로세스 ID를 보여줍니다.

아홉번째는 프로세스의 플래그를 보여줍니다.

열번째는 디스크로부터 메모리 페이지에 적재하지 못하고 실패했던 minor 프로세스 개수를 보여줍니다.

열한번째는 현재 프로세스의 자식 프로세스가 만든 minor 프로세스의 수를 나타냅니다.

열두번째는 디스크로부터 메모리 페이지에 적재하지 못하고 실패했던 major 프로세스 개수를 보여줍니다.

열세번째는 현재 프로세스의 자식 프로세스가 만든 major 프로세스의 수를 나타냅니다.

열네번째는 현재 프로세스가 사용자 모드에서 사용되는 순간에 사용된 프로세스의 수를 나타냅니다.

열다섯번째는 현재 프로세스가 커널 모드에서 사용되는 순간에 사용된 프로세스의 수를 나타냅니다.
TAG •

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
467 Develop [c++] 인라인 함수에 대한 설명 hooni 2013.04.23 7188
466 Develop [c] SetTimer() & KillTimer() & 일회용 Timer hooni 2013.04.23 9310
465 Develop [c] 네트워크 관련 프로그래밍 (포트스캔 탐지 샘플) file hooni 2013.04.23 7298
464 System/OS [linux] 리눅스 파일시스템과 디렉토리 설명 hooni 2013.04.23 27311
463 System/OS [linux] 리눅스, 유닉스 CPU 이용률 확인.. hooni 2013.04.23 24239
» System/OS [linux] 리눅스,유닉스 /proc/stat 파일 보는 법 hooni 2013.04.23 18364
461 Develop [c] 프로세스 검사하기 hooni 2013.04.23 8155
460 Develop [asp] 폼메일 예제와 메일 포워딩 프로그램 file hooni 2013.04.23 7260
459 Develop [asp] 폼 메일 소스 file hooni 2013.04.23 7497
458 Develop [php] php+db 연동(odbc, mssql, mysql, sybase) 3 hooni 2013.04.23 8675
457 Develop 프로그램 문서 관리 (Doxygen) hooni 2013.04.23 16707
456 Develop 프로그래밍 소스 관련 사이트.. hooni 2013.04.23 16789
Board Pagination Prev 1 ... 55 56 57 58 59 60 61 62 63 64 ... 98 Next
/ 98