Zero To One
시스템 모니터링 관련 명령어 본문
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의 약자로, 시스템에서 열려있는 모든 파일에 대한 정보 출력
- 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의 약자로 현재 시스템에 연결된 네트워크 상태, 라우팅 테이블, 인터페이스 상태 등을 볼 수 있다.
- -n : IP, Port 번호를 보여준다.
- -a : 모든 네트워크 상태를 보여준다
- -t : TCP 프로토콜만 보여준다
- -u : UDP 프로토콜만 보여준다
- -r : 라우팅 테이블 출력
- -s : 프로토콜별 (IP, ICMP, TCP, UDP 등)로 통계를 보여준다
- -l : 대기중인 소켓 목록을 보여준다
TCP란? - (Transmission Control Protocol)
- 서버와 클라이언트간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜이다.
- 데이터를 전송하기 전에 데이터 전송을 위한 연결을 만드는 연결지향 프로토콜이다.
출처: 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 |