리눅스 TOP 명령어 (시스템 전체상태를 실시간으로 파악)

길라잡이 0 312 2020.09.16 23:49

 

명령어 : TOP

 

* 리눅스시스템 운용상황을 실시간으로 전반적인 상황을 모니터링하거나 프로세스 관리를 할수 있는 유틸

TOP 명령어로 확인하는 대표적인 것으로 서버평균부하율, CPU사용률, 메모리사용현황, 스왑메모리 사용현황, 모든 프로세스들의 자원 현황

 

 

 

[top]

1.png?type=w2 

TOP은 forground로 실행되며 다른 작업을 할수 없다

top이 실행된 화면에서 사용할 수 있는 여러가지 유용한 top 전용명령어들이 있다

시스템의 전반적인 상태를 실시간으로 모니터링하면서 프로세스들에 대한 원하는 작업을 할 수 있다는 의미

 

---------------------------------------------------------------------------------------------------------------------------------------

 

spacebar

 스페이스바를 누르면 즉시 refresh

f

 해당필드 제거 또는 추가

o

 필드 표시순서 변경

F 또는 O

 필드정렬 선택 

<

 해당 컬럼을 왼쪽으로 옮김 

>

 해당 컬럼을 오른쪽으로 옮김 

h or ?

 도움말을 보여준다 

H

 thread를 표시하고 감춘다 

S

 Cumulative mode를 ON(Off)한다 

i

 idle프로세스를 감추거나 표시한다 

c

 명령행에 전체 명령(인자들 포함)들을 표시한다 

l

 첫번째 행에 표시되는 시스템부하율을 표시하고 감춘다 

m

 네번째와 다섯번째행의 메모리 정보와 스왑정보를 보여주거나 감춘다 

t

 두번째와 세번째행의 정보인 CPU와 프로세스를 정보를 보여주거나 감춘다 

k

 지정된 PID의 프로세스를 종료한다 

r

 renice값을 변경한다 (실행우선순위를 조정할 수 있다) 

N

 PID번호를 기준으로 오름차순 정렬한다

M

 메모리의 사용량을 기준으로 정렬한다 

T

 실행시간이 오래된 프로세스순으로 정렬한다 

x 또는 y

 x는 필드 정렬, y는 task실행에 대한 하이라이트 표시

z 또는 b

 z는 컬러 / 흑백, b는 bold체 reverse체 

u

 지정된 사용자의 소유로된 프로세스만 표시 

n 또는 #

 지정된 개수만큼의 프로세스수만을 화면에 표시한다 

d 또는 s

 지정된 초단위로 화면을 갱신한다 

W

 환경파일을 사용자의 홈 디렉토리에 TOPRC라는 파일명으로 저장한다 

q

 top의 실행에서 빠져나간다 


---------------------------------------------------------------------------------------------------------------------------------------

top의 실행결과 화면에 가각의 항목들에 대한 의미

* 첫번째 행 : 시스템의 부하율을 알려준다
top - 16:50:29 up 1 days, 37 min,  1 user,  load average: 0.50, 0.36, 0.26

16:50:29 - 시스템 현재시간
up 1 days, 37 min - 시스템이 부팅된 후에 재부팅이나 종료 없이 현재까지 운영된 시간
1 user - 현재 로그인된 사용자의 수
load everage - 0.50, 0.36, 0.26 최근 1분, 5분, 15분 각각의 시스템 평균 부하율


* 두번째 행 : 프로세스 들의 종합적인 상황을 알려준다
Tasks: 330 total,   1 running, 329 sleeping,   0 stopped,   0 zombie

Tasks: 330 total - 전체 실행된 프로세스 수
1 running - 현재 실행된 프로세스 수
329 sleeping - 유휴상태에 있는 프로세스 수
0 stopped - 종료된 프로세스 수
0 zombie - 좀비 프로세스 수

* 좀비프로세스
- 대부분의 프로세스는 부모프로세스가 종료되면 자식프로세스는 자동 종료 된다.
부모프로세스가 종료되었음에도 자식프로세스가 아직 남아 있는 상태의 프로세스를 좀비프로세스라고 한다.
이런 좀비프로셋가 많아지면 시스템이 느려지는 원인이 될수도 있다. 대부분의 좀비프로세스는 init프로세스에 의해 관리가 된다.
그리고 계속 살아있는 좀비프로세스가 있다면 kill명령으로 강제종료 시켜도 무방하다)


* 세번째 행은 CPU의 사용 및 실행상태를 알려준다.
Cpu(s):  0.4%us,  0.1%sy,  0.0%ni, 99.4%id,  0.0%wa,  0.0%hi,  0.1%si,  0.0%st


Cpu(s):  0.4%us - 사용자가 실행시킨 프로세스의 CPU사용율
0.1%sy - 시스템자체에서 사용하는 CPU 사용율
0.0%ni - noce정책에 의해 사용되고 있는 CPU사용율
99.4%id - 사용되지 않고 남은 CPU사용율
0.0%wa - 입출력 대기상태의 CPU사용율
0.0%hi - IRQs에 사용된 CPU
0.1%si - softIRQs에 사용된 CPU
0.0%st - steal값(다른 instances 실행에 주어진 time 값)

(CPU의 사용자 사용율과 시스템 자체 사용을 그리고 NICE정책에 의한 사용율, 놀고 있는 CPU사용율등을 각각 나타내고 있다)

* 네번째 행은 실제메모리의 상태를 파악할 수 있다
Mem:   4147112k total,  3997284k used,   149828k free,   327548k buffers

Mem:   4147112k total - 실제메모리의 사용량
3997284k used - 프로세스에 의해 사용되고 있는 메모리의 사용량
149828k free - 사용되지 않고 남아있는 메모리 양
327548k buffers - 버퍼링된 메모리 양


* 다섯번째 행에서는 스왑메모밀의 상태를 파악할 수 있다
Swap:  8393920k total,       76k used,  8393844k free,  3099832k cached


Swap - 8393920k total - 전체 스왑메모리양
76k used - 프로세스에 의해 사용된 스왑메모리양
8393844k free - 남아있는 스왑메모리양
3099832k cached - 캐싱 메모리양

현재 시스템의 스왑메모리 운용상황이므로 스왑메모리가 많이 사용되고 있다라는 의미는 실제메모리가 부족하는 것을 반증하는 것이다
불가피하게 시스템 메모리를 증설할 여유가 없는 경우 스왑메모리 또한 부족하다고 판단되었다면 스왑메모리를 증설해야 한다


* 여섯번째 행은 전체 개별프로세스들의 시스템 자원 사용현황과 실행상태를 파악할 수 있다
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND 

PID - 해당 프로세스의 유일한 프로세스번호(Process ID, 키값)
USER - 프로세스를 실행시킨 사용자
PR - 프로세스의 우선순위(Priority, 키값,:H)
NI - 프로세스의 NICE값(Nice Value, 키값,:l), Minus(-)을 가질수록 높은 우선순위를 갖고, Plus(+)을 가질수록 낮은 우선순위를 갖는다
     0값은 우선순위의 적용되지 않음
VIRT - 해당프로세스가 사용한 가상메모리의 총량(Vriuallmage(kb), 키값 : o)
RES - 해당프로세스의 물리적인 메모리 사용량(Resident Size(kb), 키값 : q)
RES = CODE + DATA
SHR - 해당 프로세스에 의해 사용된 공유메모리의 총량(Shared Mem Size(kb), 키값:t)

- 해당 프로세스의 상태(Process Status, 키값 : w)를 나타내며 다음 중 하나의 값을 가진다
  *D = 중단될 수 없는 Sleep상태의 프로세스
  *= 실행중인 프로세스(Running)
  *= 휴먼상태의 프로세스(sleeping)
  *= Trace되거나 스톱된 프로세스
  *= 좀비프로세스

%CPU - ㅎ당 프로세스의 CPU사용율 (CPU usage, 키값 : n)
TIME+ - 100분의 1초 단위로 반영하는 CPU사용시간 값을 나타냄

PPID - 해당프로세스의 실제소유자


* 목적에 맞게 프로세스 정렬
SHIFT + P : CPU사용량이 가장 많은 프로세스 순서대로 정렬
SHFT + M : 메모리 사용량이 가장 많은 프로세스 순서대로 정렬
SHFT + T : 실행시간이 오래된 프로세스 순서대로 정렬


* top ( 실행중인 특정 프로세스 죽이기)
->k를 누르면 (PID to kill:)이 나온다. 

* top (실행중 프로세스들의 우선순위 변경하기)
-> 리눅스에서 프로세스들의 가질수 있는 NICE값의 번위는 -20(가장 높은 우선순위)~ 19(가장 낮은 우선 순위)
r을 누른면(PID torenice:)가나오며 PID를 입력하면 (Renice PID xxxx to value:)가 나오고 NICE 값을 입력하면 된다.


* 설정파일은 이용한 TOP 실행환경 설정
top을 종ㄹ하고 나중에 다시 top을 실행하면 사용자 변경화면 대로 보이는 것이 아니라 기본화면 포맷으로 top이 실행된다
top실행 상태의 화면에서 SHFT + W키를 입력하면

"Wrote configuration to '/root/.toprc'" 라는 메시지를 출력하고 /root/.toprc라는 파일에 현재상태의 top설정내용을 저장한다

그리고 다음부터 top을 실행하면 이 설정이 그래도 적용된 top화면을 계속해서 사용할 수 있다


Comments

번호 제목 글쓴이 날짜 조회
219 네이버쇼핑 스마트스토어 세금계산서 신청하는 방법 길라잡이 01.29 79
218 부가가치세신고 스마트스토어 + 쿠팡 개인사업자 길라잡이 01.29 81
217 스마트스토어 스타일링 연관상품 관리 길라잡이 01.17 61
216 VM웨어 This host supports Intel VT-x, but Inter VT-x is disabl… 길라잡이 2021.12.19 117
215 vm웨어 가상머신 하드디스크 용량 늘리기 길라잡이 2021.12.19 98
214 스마트스토어 가격비교 매칭 조건 길라잡이 2021.11.16 206
213 스마트스토어 실시간 알람 설정 방법 길라잡이 2021.11.03 94
212 스마트스토어 가격비교 매칭방법 길라잡이 2021.11.03 83
211 스마트스토어나 쇼핑 개인사업자등록 인터넷 신청 길라잡이 2021.09.23 111
210 통신판매업자 등록요령 길라잡이 2021.04.05 234
209 Job for httpd.service invalid. 에러확인 길라잡이 2021.02.13 240
208 Letsencrypt 인증서 삭제 또는 제거 길라잡이 2021.02.13 528
207 Let’s Encrypt 인증서 기간 남은 날짜 상태 확인하기 길라잡이 2021.02.13 344
206 ssl 적용후 https 리디렉션한 횟수가 너무 많습니다 길라잡이 2021.01.24 610
205 let's encrypt 서브도메인 무한설정 (와일드카드) 길라잡이 2021.01.21 364
204 Centos7 + Letsencrypt + cloudflare 와일드카드 자동갱신 길라잡이 2021.01.20 316
203 apache 2.4 - letsencrypt 와일드 카드 인증서를 설치하는 방법 길라잡이 2021.01.20 324
202 PhpMyAdmin 쿠키 유효기간 설정 길라잡이 2021.01.15 260
201 디비 idx 이빨빠진 데이터 순번 다시 정렬하기 길라잡이 2021.01.06 308
200 서버 포트바꾸기 길라잡이 2021.01.05 252
199 구글 맞춤 검색 엔진(google custom search engine) 길라잡이 2020.12.07 344
198 postfix 리눅스 패키지 중지하는 방법 길라잡이 2020.10.17 473
197 회원정보를 DB에 저장 중복값 구별 길라잡이 2020.09.25 232
196 error 에러주소 메인보네기 길라잡이 2020.09.23 263
195 파이썬 티스토리 제목 카테고리 크롤링 길라잡이 2020.09.22 284
열람중 리눅스 TOP 명령어 (시스템 전체상태를 실시간으로 파악) 길라잡이 2020.09.16 313
193 [Python] 파이썬 설치방법 (64비트) 길라잡이 2020.09.11 268
192 윈도우즈에 아나콘다, 텐서플로 설치하기 길라잡이 2020.09.11 320
191 php 특정 웹페이지에 암호걸기 길라잡이 2020.08.21 588
190 PHP와 JSON으로 Youtube 내채널 목록 가져오기 길라잡이 2020.08.13 330


 

페이스북에 공유 트위터에 공유 구글플러스에 공유 카카오스토리에 공유 네이버밴드에 공유