코딩과로그

TIL > 시스템 모니터링 본문

Devops/TIL

TIL > 시스템 모니터링

피리음 2023. 3. 15. 09:51

uname : 시스템과 커널의 정보

시스템과 커널 정보, 하드웨어, 운영체제 등을 알 수 있음 

$ uname
=> Linux

$ uname -a
=> Linux com 5.15.0-67-generic #74~20.04.1-Ubuntu SMP Wed Feb 22 14:52:34 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

top : 운영체제 작업 내역 모니터링

 

# 이하 top 명령어를 통해 얻어온 정보들에 대한 간략한 설명

# 현재 시각 - 경과시간 - 유저수, 각 시간별 cpu 사용량 (%)
top - 15:38:41 up 17:34,  1 user,  load average: 3.31, 3.74, 3.47
# Task 수, Task 별 상태
Tasks: 375 total,   2 running, 373 sleeping,   0 stopped,   0 zombie
# us => 프로세스 유저 영역에서 사용률
# sy => 프로세스 커널 영역에서 사용률
%Cpu(s): 24.1 us,  5.4 sy,  0.0 ni, 70.0 id,  0.4 wa,  0.0 hi,  0.1 si,  0.0 st
# 메모리 사용량
  # buff => 커널 버퍼에서 사용되는 메모리
  # cache => Disk의 페이지 캐시
  # => 즉 I/O 와 관련되서 사용되는 버퍼 메모리임. 이를 통해 I/O를 보다 빠르게 처리할 수 있음.
MiB Mem :  15849.4 total,   1344.3 free,   6717.7 used,   7787.4 buff/cache
# swap 메모리 사용량 
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   6843.0 avail Mem

# PID = 프로세스 ID
# USER = 프로세스를 실행 혹은 효과를 받는 USER name.
# PR = 우선순위
# NI = PR에 영향을 주는 nice값
# 
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                  
 118830 sori      20   0 1130.1g 481560 174556 S  88.0   3.0 316:10.92 chrome                   
 103818 sori      20   0   53.3g 592240 307180 S  25.2   3.6 126:46.47 Discord

ifconfig : 네트워크 기본 모니터링

❯ ifconfig
enx00e04d69887d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
		# ipv4
        inet 192.168.35.248  netmask 255.255.255.0  broadcast 192.168.35.255
        # ipv6
        inet6 fe80::fbe3:8eb8:ff0e:32d5  prefixlen 64  scopeid 0x20<link>
        # 네트워크 인터페이스의 하드웨어 주소
        ether 00:e0:4d:69:88:7d  txqueuelen 1000  (Ethernet)
        # 주고받은 패킷 관련 정보
        RX packets 10965102  bytes 5830892467 (5.8 GB)
        RX errors 0  dropped 76828  overruns 0  frame 0
        TX packets 4232808  bytes 1416365601 (1.4 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lsof : 열린 파일 목록 출력

현재 프로그램과 프로그램이 사용중인 폴더를 확인할 수 있다.

보통 디바이스를 언마운트에 실패할 경우 특정 프로그램이 폴더를 사용중이기 때문인데 이 때에 어떤 프로그램이 디바이스를 사용하고 있는 지 찾을 때 사용할 수 있다.

 

3000번대 포트를 사용하는 프로세스를 확인할 수도 있다.

 

 

pwdx: 프로세스의 id 에 해당하는 시작위치 확인 

pwdx 프로세스_id

netstat : 네트워크 상태 모니터링

라우팅 테이블 및 IP, 인터페이스 등을 확인할 수 있다.

# 서버 포트를 4443, 5501 을 열었다.
$ npm run runserver
Server is running on port 4443.
Server is running on port 5501.


# 4443, 5501 포트가 사용중인 것을 확인할 수 있다. 
$ netstat -ant | awk 'NR<=2 || /4443|5501/'
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp6       0      0 :::4443                 :::*                    LISTEN     
tcp6       0      0 :::5501                 :::*                    LISTEN

htop : top 와 유사한 작업 내역 모니터링

보다 가독성 / 유틸이 추가되었음.

'Devops > TIL' 카테고리의 다른 글

TIL > HTTP  (0) 2023.03.16
TIL > URL과 URI  (0) 2023.03.15
TIL > 프로세스, 서비스, 자동화  (0) 2023.03.13
TIL > 리눅스 관련 (입출력, 관리자 권한 등)  (0) 2023.03.10
TIL> 리눅스 디렉토리 구조  (0) 2023.03.09