728x90

서버 관리를 하다 보면 실시간으로 서버 상태를 체크해야 되는 경우가 많이 생깁니다.

갑자기 운영하는 서버가 느려지거나 하는 고객 컴플레인이 걸려올 때는 원인 분석을 해야 되기 때문입니다.

 

top 명령어

그걸 위해 리눅스에서는 Top 명령어를 지원해줍니다.

 

리눅스 서버를 접근 후 top명령어를 실행하면 아래와 같은 화면이 나옵니다.

top 명령어 실행 화면

 

위에 실행화면으로 line 별로 대략적으로 설명을 하자면 아래와 같습니다.

  • 1 Line - 서버시간 10:17:44 , 1 user 사용자 접속,  load average 서버 부하율
  • 2 Line - 전체 프로세스 tasks 247 total , 실행 중인 프로세스 1 running, 대기 중인 프로세스 246 sleeping, 멈춘 프로세스 0 stopped , 좀비 상태 프로세스 0 zombie 
  • 3 Line - 유저 cpu 비중 0.6 us, 시스템 cpu 비중 0.1 sy, 나이스 한 cpu 비중 0.0, 99.1

이 외에 라인 밑에 있는 부분들은 프로세스 리스트입니다.

해당 실행화면은 오라클 DB서버에 접속한 것 입니다.

이에 따른 예시입니다.

 

아래 표는 프로세스 리스트 컬럼에 대한 설명입니다.

 

PID  프로세스 ID
USER 프로세스 실행시킨 사용자
PRI 우선순위
NI NICE 값
마이너스를 가지는 Nice value 우선순위 높음
VIRT 가상 메모리 사용량
RES 현재 페이지 크기
SHR 분할된 페이지, 사용된 메모리를 나눈 총합
S 프로세스 상태
%CPU 프로세스가 사용하는 CPU 사용율
%MEM 프로세스가 사용하는 메모리 사용율
COMMAND 실행된 명령어

 

이러한 top 명령어를 통해 실행되는 프로세스의 cpu 사용량을 체크하여 해당 프로세스를 kill 해주어 서버 지연 상태를 해결합니다.

반응형

+ Recent posts