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 | 태스크 플래그 |
'IT 이야기 > Linux 명령어' 카테고리의 다른 글
[RHEL6] 하드웨어 명령어 2탄(arch, arecord, cardctl, cardmgr, dmidecode) (0) | 2020.05.14 |
---|---|
[RHEL6] 하드웨어 명령어 1탄(alsactl, alsamixer, amixer, aplay, apm) (0) | 2020.05.14 |
[RHEL6] 프로세스 관리 명령어 5탄(slabtop, strace, taskset, telinit) (0) | 2020.05.13 |
[RHEL6] 프로세스 관리 명령어 4탄(pmap, ps, pstree, renice) (0) | 2020.05.13 |
[RHEL6] 프로세스 관리 명령어 3탄(mkfs, nice, nohup, pidof) (0) | 2020.05.12 |
댓글