[RHEL6] 프로세스 관리 명령어 6탄(time, tload, top)
본문 바로가기
IT 이야기/Linux 명령어

[RHEL6] 프로세스 관리 명령어 6탄(time, tload, top)

by 찬찬이 아빠 2020. 5. 13.
반응형
  23. time(시스템 자원 요약)

 1) 경로 : /usr/bin/time

 2) 요약 : 사용 중인 시스템 자원 정보를 출력

 3) 사용 방법 : time [옵션] COMMAND [ARGS]

 4) 옵션

 -o, --output=FILE : 표준 에러를 저장할 파일(FILE)을 지정. 이전 파일이 있다면 덮어 씀

 -a, --append : -o 옵션과 같으며 파일에 덮어 쓰지 않고 추가함

 -f, --format FORMAT : 출력 형식(FORMAT)을 지정

 --help : 사용법 출력

 -p, --portability : 포맷 형식으로 간략한 정보 출력. real %e, user %U, sys %S 같이 출력할 내용을 포맷 형식의 % 변환 기호 다음에 지정

 -v, --verbose : 상세한 정보 출력

 --quiet : 메시지 정보를 출력하지 않음

 -V, --version : 버전 정보 출력

 

<포맷 형식>

% : 변환 기호

C : 명령어의 이름과 명령어 행 인자

D : 프로세스가 공유하지 않는 데이터 영역의 평균 크기(KB)

E : 경과된 실제 시간([시간:]:분:초)

F : 프로세스 실행 시 발생하는 중대한 페이지 오류 횟수. 주 메모리가 페이지를 읽는 도중 발생하는 오류

I(대문자 아이) : 프로세스에서 발생한 파일 시스템 입력의 수

K : 프로세스의 전체(데이터+스택+텍스트) 메모리 사용량(KB)

M : 프로세스 실행 동안 최대 resident 셋 크기(KB)

O : 프로세스에서 발생한 파일 시스템 출력의 수

P : 이 작업이 사용한 CPU 퍼센트로(%U + %S) / %E로 계산

R : 중대하지 않거나 복구할 수 있는 페이지 오류 횟수. 이 오류는 유효하지 않지만 아직까지 다른 가상 페이지에 의해 요구되지 않는 페이지 오류

S : 커널 모드에서 프로세스가 사용한 CPU 초

U : 사용자 모드에서 프로세스가 직접적으로 사용하는 CPU 초

W : 메인 메모리에서 프로세스가 스왑된 수

X : 프로세스에서 공유 텍스트의 평균 크기(KB)

Z : 시스템의 페이지 크기(BYTE). 이는 시스템 당 일정하여 시스템에 따라 다를 수 있음

c : 비 자발적으로 프로세스가 컨텍스트 스위칭 된 수(타임 슬라이스가 만료되었기 때문)

e : 경과딘 실제 시간(초)

k : 프로세스가 보낸 시그널의 수

p : 프로세스가 공유하지 않는 스택의 평균 크기(KB)

r : 프로세스가 받은 소켓 메시지 수

s : 프로세스가 보낸 소켓 메시지 수

t : 프로세스의 평균 resident 셋 크기(KB)

w : 프로그램이 자발적으로 컨텍스트 스위칭 된 수(I/O 경쟁이 완료되기를 기다리는 동안 발생)

x : 명령어 상태를 빠져 나옴

 

 5) 추가 설명

time 명령어는 특정 프로그램이나 명령어를 인자로 실행합니다. 명렁어가 종료될 때 실행된 인자의 통계 정보를 지정한 형식으로 출력합니다. 포맷 형식을 지정하지 않으면 real, user, sys 정보를 출력합니다.

 

아래는 ls가 /dev 디렉터리를 찾을 동안 소모한 시간을 출력합니다.

# time ls /dev
... 생략 ...
real 0m0.005s
user 0m0.004s
sys  0m0.000s

 

위와 같이 time은 명령어를 실행한 동안 사용한 시스템의 정보를 확인할 때 유용합니다.

 

 

  24. tload(사용 자원 그래픽 표현)

 1) 경로 : /usr/bin/tload

 2) 요약 : 사용 중인 자원을 평균하여 그래픽으로 출력

 3) 사용 방법 : tload [-V] [-s scale] [-d delay] [tty]

 4) 옵션

 -s scale : 수직 간격의 스케일을 지정

 -d delay : 그래픽이 업데이트 되는 시간(delay 초)을 지정

 

 5) 추가 설명

tload 명령어는 top 명령어와 같이 시스템의 평균 부하의 정보를 tty에 별(*) 모양의 그래픽으로 출력합니다.

 

 

 

  25. top(프로세스 상황)

 1) 경로 : /usr/bin/top

 2) 요약 : 시스템 프로세스/메모리 사용 현황을 실시간으로 출력

 3) 사용 방법 : top [옵션]

 4) 옵션

 -b : 배치 모드로 정보를 출력. 실시간 상호 대화형 모드로 정보를 화면에 일렬로 출력

 -d delay : 지정한 시간(delay 초)의 간격으로 정보를 업테이드 하여 출력

 -i idle : 토글값이 off일 때, idle 프로세스나 좀비 프로세스 정보를 출력하지 않음

 -n num : 지정한 시간(num) 만큼 업데이트 정보를 출력

 -p pid : 지정한 프로세스 ID(pid) 의 정보만을 출력

 -q : 시간의 간격 없이 계속하여 업데이트 정보를 출력

 -s : 몇 개의 대화식 명령을 비활성화(시큐어 모드)

 -S : 누적된 정보를 출력(cumlative 모드)

 

 5) 추가 설명

top 명령어는 시스템의 프로세스/메모리 사용 상태를 5초의 간격으로 업데이트하여 출력합니다. 화면에 출력되는 기본값은 현재시간, 시스템 업데이트(1) 시간, 시스템에 로그인한 사용자 수, 지난 1분, 지난 5분, 지난 15분간의 시스템 평균 부하를 출력합니다. 이 목록 아래에 프로세스 정보, CPU의 상태, 메모리와 스왑 상태를 출력합니다.

 

top 명령어를 실행한 후 초기 화면에서 h키를 입력하면 사용할 수 있는 단축키 목록을 확인할 수 있습니다.

 

<top 단축키 명령어>

명령어 설명
space 정보를 업데이트
^L 스크린을 다시 초기화
F or f 필드를 추가하거나 제거
확인하고자 하는 항목의 알파벳을 누를 때마다 선택/취소가 반복
O or o 출력하는 필드의 정렬 순서를 변경
대문자로 선택한 항목을 누르면 왼쪽으로 이동하고, 소문자를 누르면 오른쪽으로 이동
h or ? 사용 가능한 명령어를 출력
k 프로세스를 종료
n or # 출력할 프로세스의 수를 지정
s 출력할 정보의 업데이트 시간을 지정
W ~/.toprc에 설정된 내용을 저장
q top 종료

 

<top 보기 수정 단축키>

출력되는 메인 정보 창 중에 상단의 정보를 수정합니다.

명령어 설명
S cumulative 모드(실시간 정보를 누적 데이터로 보여줌)를 선택/해제
i idle 프로세스 정보를 출력/해제
l(대문자 아이) lrix나 솔라리스 정보를 출력/해제
c 명령행에서 실행한 명령어 자체로 출력/해제
l(엘) 로드 평균 정보 출력/해제
m 메모리 정보를 출력/해제
t 요약된 정보만을 출력/해제

 

<top 정렬 단축키>

메인 창에서 실행하는 명령으로 현재 정보를 사용자의 요구대로 정렬합니다.

명령어 설명
r 프로세스의 우선 순위를 변경
N pid 정보를 기준으로 정렬
A age 정보를 기준으로 정렬
P CPU 사용량을 기준으로 정렬
M 적재된 메모리 사용량을 기준으로 정렬
T 시간/누적시간을 기준으로 정렬
u 지정한 사용자의 정보만을 출력

 

아래는 실제로 top 명령을 실행한 예제입니다.

# top
top - 11:02:18 up 21 day, 5:05, 3 users, load average: 0.24,, 0.25, 013
Tasks: 162 total, 1 running, 159 sleeping, 2 stopped, 0 zombie
Cpu(s): 0.1%us. 0.3%sy, 0.0%ni, 99.5%id, 0.1%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1026392k total,   980900k used,   45492k free,   90548k buffers
Swap:  916472k total,     448k used,  916024k free,  673156k cached

 PID	USER	PR	NI	VIRT	RES		SHR		S	%CPU	%MEM	TIME+	COMMAND
 1		root	20	0	2796	1648	1208	S	0		0.2		0:01.10	init
 2		root	20	0	0		0		0		S	0		0.0		0:00.02	kthreadd
 3		root	RT	0	0		0		0		S	0		0.0		0:00.73	migration/0
 4		root	20	0	0		0		0		S	0		0.0		0:00.00	ksoftirqd/o
 5		root	RT	0	0		0		0		S	0		0.0		0:00.00	watchdog/0
 6		root	RT	0	0		0		0		S	0		0.0		0:00.71	migration/1
 7		root	20	0	0		0		0		S	0		0.0		0:00.21	ksoftirqd/1
 ... 생략 ...

 

아래는 각각의 항목에 대한 설명입니다.

 

<top 항목에 대한 설명>

필드의 구성을 변경할 때 출력되는 내용입니다.

부호 기호 명칭 설명
*(2) A PID 프로세스 ID
  B PPID 부모 프로세스 ID
  C UID 사용자 ID (User ID)
* D USER 사용자 이름
* E %CPU CPU 사용량
* F %MEM 메모리 사용량
  G TTY 사용중인 tty를 출력
* H PRI 우선 순위
* I(대문자 아이) NI nice 우선 순위 값
  J PAGEiN 페이지 오류 수
  K TSIZE 코드 크기(KB)
  L DSIZE 데이터 + 스택 크기(KB)
* M SIZE 가상 이미지 크기(KB)
  N TRS 현재 문자 크기(KB)
  O(대문자 영어오) SWAP 스왑 크기(KB)
* P SHARE 분할된 페이지(KN)
  Q A 접근한 페이지 수(KB)
  R WP 쓰기 보호된 페이지 수(KB)
  S D 쓰레기 페이지
* T RSS 메모리에 상주하고 있는 현재 페이지의 크기
  U WCHAN 유휴 상태로 있는 함수
* V STAT 프로세스 상태
* X COMMAND 명령어
  Y LC 마지막으로 사용한 CPU
  Z FLAGS 태스크 플래그

 

반응형

댓글