Zero To One

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

Linux

시스템 모니터링 관련 명령어

Zero_To_One 2022. 2. 14. 14:12

1. uname : 시스템과 커널의 정보

uname 명령어를 사용하면 시스템과 커널의 정보를 확인할 수 있다.

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

2. top : 운영체제 작업 내용 모니터링

현재 os의 상태를 다음과 같이 출력된다. 상단부에는 전체의 요약이 있으며 아래에는 각 프로세스마다 구체적인 내용을 포함하고 있다.

요약영역은 전체 프로레스가 OS에 대해서 리소스를 어느정도 차지하고 있는지를 알려준다.

요약영역에 나타나는 대표적인 내용은 시간,유저,로드 애버지리(Load Average), 태스크(Tasks), CPU, 메모리 이다.

  • 로드 에버리지(Load Average) : 해당 영역은 CPU가 수행하는 작업의 양을 순서대로 1분, 5분, 15분 간격의 평균값으로 표시한다.
  • 태스크(Task) : 현재 프로세스들의 상태를 나타내주는 영역으로, OS에 따라 Process라고도 한다.
  • CPU 사용량 : CPU가 어떻게 사용되고 있는지 그 사용률을 보여주는 영역이다. 유저 영역, 커널 영역, 우선순위 설정 등 각 영역 값의 총 합은 100%이다.
  • 메모리 사용량 : 첫번째 줄은 RAM의 메모리 영역으로 Mem이라고 표시되어 있는 부분이며, 두번째 줄은 디스크를 메모리처럼 이용하는 Swap 메모리 영역이다. 일반적으로 Mem의 사용량이 가득 찼을 때 Swap 메모리 영역을 사용한다.

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

인수가 없는 ifconfig 명령은 활성화된 네트워크의 세부 사항을 표시한다. 다만 ifconfig만으로는 비활성화된 네트워크 사항은 볼 수 없다.

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

4. losf : 열린 파일 목록 출력

losf는 list open files의 약자로, 시스템에서 열려있는 모든 파일에 대한 정보 출력

lsof 출력 결과

  • 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 soket
  • DEVICE : 장치 번호
  • SIZE/OFF : 파일의 크기나 오프셋
  • NODE : 노트 번호
  • NAEM : 파일 경로 및 파일 이름

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

network statistics의 약자로 현재 시스템에 연결된 네트워크 상태, 라우팅 테이블, 인터페이스 상태 등을 볼 수 있다.

netstat 실행 결과

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

 

TCP? - (Transmission Control Protocol) 

- 서버와 클라이언트간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜이다.  

 

- 데이터를 전송하기 전에 데이터 전송을 위한 연결을 만드는 연결지향 프로토콜이다.

- 데이터는 네트워크선로를 통해 전달되는 과정에서 손실되거나 순서가 뒤바뀌어서 전달될 수 있는데, TCP는 손실을 검색해내서, 이를 교정하고 순서를 재조합할수 있도록 해준다. 



출처: https://musclebear.tistory.com/2 [곰돌이의 데이터 기록부]

 

UDP (User Datagram Protocol)란?

  • UDP 비연결형, 신뢰성 없는 전송 프로토콜이라고 한다.

 

UDP는 Host - Host, Process - Process 통신을 제공하는것 이외에는 IP 서비스에 추가하는 것이 아무 것도 없다. 그리고 수신된 패킷에서 오류를 탐지하면 이를 폐기하는 정도의 오류제어 기능만 제공한다.

 

※ Host - Host 통신 : IP는 목적지 Host 에게만 메시지를 전달할 수 있다. 

※ Process - Process 통신 : UDP, TCP는 메시지를 정확한 프로세스에게 전달시킬 수 있으며 Port 번호가 필요하다.



출처: https://musclebear.tistory.com/11 [곰돌이의 데이터 기록부]

'Linux' 카테고리의 다른 글

1) 리눅스 성능을 모니터링하는 20가지 명령줄 도구  (0) 2022.02.14
How to Use netstat on Linux (한글 번역)  (0) 2022.02.14
Chmod  (0) 2022.02.14
CLI와 리눅스 기본 명령어  (0) 2022.02.11