코딩마을방범대

시스템 모니터링 명령어 모음 본문

💡 백엔드/우분투

시스템 모니터링 명령어 모음

신짱구 5세 2023. 6. 8. 17:16
728x90

 

uname

시스템과 커널의 정보를 확인할 수 있음

$ uname -a
Linux [호스트명] 5.15.0-73-generic #80~20.04.1-Ubuntu SMP Wed May 17 14:58:14 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
예시 의미
Lunux  커널명
5.15.0-73-generic 커널 릴리즈 정보
#80~20.04.1-Ubuntu SMP Wed May 17 14:58:14 UTC 2023 커널 버전
x86_64 머신 하드웨어 이름
x86_64 프로세서 종류
x86_64 하드웨어 플랫폼
GNU/Linux 운영체제

 

옵션

옵션 의미
-a, --all 전체 내용 출력
-s, --kernel-name 커널 명 출력
-n, --nodename 네트워크 노드의 호스트 명 출력
-r, --kernel-release 커널 릴리즈 정보 출력
-v, -kernel-version 커널 버전 출력
-m, --machine 머신 하드웨어 이름 출력
-p, --processor 프로세서 종류 또는 'unknown' 출력
-i,- -hardware-platform 하드웨어 플랫폼 또는 'unknown' 출력
-o, --operating-system 운영체제 'unknown' 출력

 

 

 


 

 

top

  • 윈도우의 작업관리자와 비슷한 기능을 함
  • 프로세스 작업 명령어
  • 시스템 프로세스들의 CPU/Memory 점유율을 실시간으로 볼 수 있음

 

Cpu(s)

항목 의미
us 사용자가 사용중인 사용률
sy 시스템이 사용중인 사용률
ni 프로세스 우선순위를 기반으로 사용되는 사용률
(사용자 공간에서 사용됨)
id 아무 일도 하지 않는 여유률
wa 입출력을 기다리는 프로세스 사용률
hi 하드웨어 인터럽트 사용률
si 소프트웨어 인터럽트 사용률
st 가상화 환경에서 손실률

 

PROCESS

항목 의미
PID 프로세스 ID
USER 프로세스를 실행시킨 사용자 ID
PR 프로세스의 우선순위
NI NICE 값, 마이너스를 가지는 값이 우선순위가 높음
VIRT 가상 메모리의 사용량(SWAP+RES)
RES 현재 페이지가 상주하고 있는 크기
SHR 가상 메모리 중 사용중인 메모리를 제외한 잔여 가상 메모리
S 프로세스의 상태
%CPU 프로세스가 사용하는 CPU의 사용률
%MEM 프로세스가 사용하는 메모리의 사용률
TIME+ 프로세스가 CPU를 사용한 시간
COMMAND 실행된 명령어

 

정렬

단축키 의미
SHIFT + M 메모리 사용률 정렬
SHIFT + N PID 기준 정렬
SHIFT + P CPU 사용률 정렬
SHIFT + T 실행시간 기준 정렬
SHIFT + R 정렬 기준변경
(오름차순인 경우 내림차순으로, 내림차순인 경우 오름차순으로 변경)

 

 

 


 

 

free

메모리에 대한 정보를 확인

항목 의미
MEM 실제 메모리
Swap 일종의 가상 메모리
Buffers 일부 프로세스에 의해 발생한 임시 메모리
Cached 기존에 실행된 프로그램들이 사용했던 메모리로 실행 중이거나
새로 시작될 프로그램들이 필요할 때 빠르게 재 사용할 수 있는 메모리 영역

 

 

 


 

 

vmstat

시스템 작업, 하드웨어 및 시스템 정보를 확인할 수 있음

proces

항목 의미
r CPU에서 대기중인 프로세스의 수를 의미
r의 개수가 CPU의 개수의 2배를 넘는다면 CPU의 성능을 올려주어야함
b 인터럽트가 불가능한 sleep 상태에 있는 프로세스의 수 (I/O 처리를 하는 동안 블록 처리된 프로세스)
b의 수치가 높은 경우라면 CPU가 계속 대기상태로 있다는 의미이므로 디스크 I/O를 확인해 볼 필요가 있음

 

Swap(KB/s)

항목 의미
si(swap in) 디스크 swap 공간에 있는 데이터를 메모리로 호출하는 양을 의미
사용되고 있는 swap 디스크가 해제되는 양(per sec)
so(swap out) 메모리에서 디스크로 보내는 데이터의 양을 의미
물리적 메모리가 부족할 경우 디스크로부터 사용되는 메모리 양(per sec)
swap out이 지속적으로 발생한다면 메모리 부족을 의심해 볼 수 있음
swap out값이 증가하면 메모리가 부족하다는 의미이므로 메모리를 늘려야 함
Swap out값은 0에 가까워야 좋고 초당 10블럭 이하가 좋음
swap필드의 값이 높다고 해도 free 메모리에 여유가 있다면 메모리가 부족한 것은 아님

 

 

 


 

 

netstat

현재 시스템에 연결된 네트워크 상태, 라우팅 테이블, 인터페이스 상태 등을 볼 수 있음

Active Internet connections : TCP, UDP, raw로 연결된 목록

Active UNIX domain sockets : 도메인 소켓으로 연결된 목록

 

 

State

의미
공백 연결되어 있지 않음
FREE socket은 존재하지만 할당되어 있지 않은 상태
LISTENING 연결 요청에 대한 응답준비가 되어 있는 상태
CONNECTING 연결이 막 이루어진 상태
DISCONNECTING 연결 해제 되고 있는 상태
UNKNOWN 알 수 없는 연결, 알려지지 않은 연결 상태
LISTEN 연결 가능하도록 daemon이 떠있으며 연결이 가능한 상태
SYS-SENT 연결을 요청한 상태
SYN_RECEIVED 연결 요구에 응답 후 확인 메시지 대기중인 상태
ESTABLISHED 연결이 완료된 상태
FIN-WAIT1 소켓이 닫히고 연결이 종료되고 있는 상태
FIN-WAIT2 로컬이 원격으로부터 연결 종료 요구를 기다리는 상태
CLOSE-WAIT 종료 대기 중
CLOSING 전송된 메세지가 유실되었음
TIME-WAIT 연결 종료 후 한동안 유지되어 있음
CLOSED 연결이 완전히 종료

 

옵션

옵션 의미
-n 호스트명, 포트명을 lookup하지 않고(도메인으로 보이지 않고)
IP, Port번호를 보여줌
-a 모든 네트워크상태를 보여줌
-t TCP 프로토콜만 보여줌
-u UDP 프로토콜만 보여줌
-p 해당 포트를 사용하는 프로그램과 프로세스ID(PID)를 보여줌
-r 라우팅 테이블 출력
-s 프로토콜 별(IP, ICMP, TCP, UDP 등)로 통계를 보여줌
-c 연속적으로 상태를 보여줌
-l 대기중인 소켓 목록을 보여줌

 

 


 

df

현재 디스크의 전체 용량 및 남은 용량을 확인할 수 있음

옵션

옵션 의미
-h 용량을 읽기 쉽게 단위를 계산하여 출력
-T 파일 시스템 종류와 함께 디스크 정보 출력

 

 

 


참고사이트

리눅스 명령어를 이용한 시스템 모니터링하기

 

 

 

 

728x90