CS/운영체제

[Linux] 시스템 모니터링

용감한 개복치 2022. 5. 13. 02:40

1. 시스템 모니터링

 

리눅스로 기본적인 로컬의 상태들을 확인하고 컨트롤 할 수 있어야 한다.

 

1-1) 명령어

 

uname

시스템과 커널의 정보를 확인

  -a 옵션을 사용하면 커널 이름, 노드 이름, 커널 릴리즈, 커널 버전, 프로세서, 하드웨어 플랫폼, 운영 체제 정보 출력

 

 

top

전체 프로세스가 OS에 대해서 리소스를 어느정도 차지하고 있는가 출력

 

요약 영역에 나타나는 대표적인 내용은

시간,

유저,

로드 애버리지(Load Average), CPU가 수행하는 작업의 양을 순서대로 1분, 5분, 15분 간격의 평균값으로 표시

태스크(Tasks), ==process, 현재 프로세스들의 상태를 나타내주는 영역

CPU, CPU가 어떻게 사용되고 있는지 그 사용률, 유저 영역, 커널 여역, 우선순위 설정 등, 각 영역 값의 총 합은 100%

메모리(memory), 첫번째 줄은 RAM의 메모리 영역으로 Mem이라 표시되어있는 부분이며, 두번째 줄은 디스크를 메모

처럼 이용하는 Swap 메모리 영역. 일반적으로 Mem의 사용량이 가득 찼을때 Swap 메모리 영역을 사용

 

 

ifconfig

네트워크 기본 모니터링, 활성화 된 네트워크만 확인 가능

출력되는 정보 카테고리는 다음과 같다.

  • enp0s3 : 네트워크 인터페이스
  • flags : 네트워크 카드의 상태 표시
  • mtu : 네트워크 최대 전송 단위(Maximum Transfer Unit)
  • inet : 네트워크에 할당된 IP 주소
  • netmask : 네트워크에 할당된 넷마스크 주소
  • broadcast : 네트워크에 할당된 브로드캐스트 주소
  • inet6 : 네트워크에 할당된 IPv6 주소
  • prefixlen : IP 주소에서 서브 넷 마스크로 사용될 비트 수
  • scopeid : IPv6의 범위. LOOPBACK / LINKLOCAL / SITELOCAL / COMPATv4 / GLOBAL
  • ether : 네트워크 인터페이스의 하드웨어 주소
  • RX packets : 받은 패킷 정보
  • TX packets : 보낸 패킷 정보
  • collision : 충돌된 패킷 수
  • Interrupt : 네트워크 인터페이스가 사용하는 인터럽트 번호

 

 

lsof

list open files, 시스템에서 오픈된 모든 파일 정보

  • COMMAND : 실행 명령어
  • PID : 프로세스 ID
  • USER : 실행한 사용자
  • FD: File Descriptor, 파일의 종류.
  • cwd : current working directory
  • rtd : root directory
  • mem : memory-mapped file
  • txt : program text (code and data)
  • TYPE : 파일 종류
  • DIR : 디렉토리
  • REG : Regular File
  • CHR : Character Special File
  • unix : UNIX domain socket
  • DEVICE : 장치 번호
  • SIZE/OFF: 파일의 크기나 오프셋
  • NODE : 노드 번호
  • NAME : 파일 경로 및 파일 이름

 

대표사용법

lsof -i :80 | awk 'FNR == 1 {next} {print $2}' | xargs kill
현재 시스템에서 활성화된 프로세스 중에서 포트 번호가 80인 프로세스를 찾아 강제 종료

 

netstat

network statistics, 현재 시스템에 연결된 네트워크 상태, 라우팅 테이블, 인터페이스 상태 확인
연결된 소켓과 수신 대기 중인 소켓을 찾을 수 있음.

 

 

옵션 종류

-n : IP, Port번호를 보여줍니다.
-a : 모든 네트워크상태를 보여줍니다.
-t : TCP 프로토콜만 보여줍니다.
-u : UDP 프로토콜만 보여줍니다.
-r : 라우팅 테이블 출력
-s : 프로토콜 별(IP, ICMP, TCP, UDP 등)로 통계를 보여줍니다.
-l : 대기중인 소켓 목록을 보여줍니다.

 

 

*** 참고문헌 ***

 

https://www.howtogeek.com/513003/how-to-use-netstat-on-linux/

 

How to Use netstat on Linux

The Linux netstat command gives you a treasure-trove of information about your network connections, the ports that are in use, and the processes using them. Learn how to use it.

www.howtogeek.com

 

'CS > 운영체제' 카테고리의 다른 글

[Linux]환경변수&bash 스크립트  (0) 2022.05.13
[Linux]nohup  (0) 2022.05.13
[Linux]입출력, 표준 스트림  (0) 2022.02.11
[Linux]패키지&프로세스  (0) 2022.02.10
[os]운영체제  (0) 2022.02.10