Zero To One
1) 리눅스 성능을 모니터링하는 20가지 명령줄 도구 본문
1. top - 리눅스 프로세스 모니터링
top 명령은 실행되고 활성화된 모든 실시간 프로세스를 정렬된 목록에 포시하고 정기적으로 업데이트하는데 사용된다.
CPU 사용량, 메모리 사용량, 스왑 메모리, 캐시 크기, 버퍼 크기, 프로새스 PID, 사용자, 명령 등을 표시한다.
또한 실행 중인 프로세스의 높은 메모리 및 CPU사용률을 보여준다. top 명령은 시스템 관리자가 모니터링하고 필요할 때 수정 조치를 취하는 데 매우 유용하다.
top
2. VmStat - 가상 메모리 통계
리눅스 VmStat 명령은 가상메모리, 커널 스레드, 디스크, 시스템 프로세스, I/O 블록, 인터럽트, CPU 활동 등의 통계를 표시하는데 사용된다.
기본적으로 리눅스 시스템에서는 vmstat 명령을 사용할 수 없다. vmstat 프로그램이 포함된 sysstat(강력한 모니터링 툴)이라는 패키지를 설치해야 한다.
sudo apt-get install sysstat
vmstat
- Free : 사용가능/유효 메모리 공간의 양
- si : 디스크에서 초당 스왑된다 (킬로바이트)
- so : 매 초마다 Disk로 스왑된다 (킬로바이트)
- 참고 : 매개변수 업싱 vmstat를 실행하면 시스템 부팅 이후 요약보고서가 표시된다.
vmstat 2 6 #vmstat가 2초마다 실행되고 6개의 간격을 실행한 후 자동으로 중지됨.
vmstat -t 1 5 #-t를 쓰면 모든 줄이 인쇄된 타임스탬프 표시.
vmstat -s #-s를 쓰면 다양한 이벤트 카운터 및 메모리 통계 요약 표시.
vmstat -d #-d를 쓰면 리눅스의 모든 디스크 통계 표시
vmstat -S M 1 5 #기본적으로 메모리 통계를 킬로바이트 단위로 표시하지만 -S M 인수를 사용하면 메모리 크기를 메가바이트로 표시할 수 있다.
3. Lsof - 열린 파일 나열 (List Open Files)
lsof 명령은 많은 리눅스/유닉스 계열 시스템에서 열려 있는 모든 파일과 프로세스의 목룍을 표시하기 위해 사용된다.
열려있는 파일에는 디스크 파일, 네트워크 소켓, 파이프, 장치 및 프로세스가 포함된다.
이 명령을 사용하는 주요 이유 중 하나는 디스크를 마운트 해제할 수 없고 파일이 사용중이거나 열려 있다는 오류를 표시하기 때문이다. 이 명령을 사용하면 사용 중인 파일을 쉽게 식별할 수 있다.
lsof
- FD : File descriptor(파일 설명자)의 약자로, 다음과 같은 값을 볼 수 있다.
- cwd : 현재 작업 디렉토리
- rtd : 루트 디렉토리
- txt : 프로그램 텍스트 (코드 및 데이터)
- mem : 메모리 저장 파일
- 또한 FD열에서 1u와 같은 숫자는 실제 파일 설명자이며 그 뒤에 다음과 같이 u,r,w가 나온다.
- r : 읽기 엑세스
- w : 쓰기 접근
- u : 읽기, 쓰기 엑세스
- type : 파일 및 식별 정보
- DIR : 디렉토리
- REG : 일반 파일
- CR : 문자 특수 파일
- FIFO : 선입선출
4. tcpdump - Network Packet Analyzer
tcpdump 명령은 네트워크를 통해 특정 인터페이스에서 수신 또는 전송되는 TCP/IP 패킷을 캡처하거나 필터링하는데 사용되는 가낭 널리 사용되는 명령줄 네트워크 패킷 분석기 또는 패킷 스니퍼 프로그램중 하나이다.
나중에 분석할 수 있도록 캡처한 패키지를 파일에 저장하는 옵션도 제공한다. tcpdump는 거의 모든 주요 리눅스 배포판에서 사용할 수 있다.
sudo apt-get install tcpdump
5. Netstat - Network Statistics
netstat는 인터페이스 통계뿐만 아니라 들어오고 나가는 네트워크 패킷 통계를 모니터링하는 명령줄 도구이다. 모든 시스템 관리자가 네트워크 성능을 모니터링하고 네트워크 관련 문제를 해결할 수 있는 매우 유용한 도구이다.
6. Htop - Linux Process Monitioring
htop은 리눅스 top 명령어와 유사하지만 프로세스 관리를 위한 사용자 친화적인 인터페이스, 바로 가기 키, 프로세스의 수직 및 수평 뷰 등과 같은 풍부한 기능을 가지고 있다.
sudo apt install htop
7. Iotop - Monitor Linux Disk I/O
iotop은 htop프로그램과 유사하지만 실시간 디스크 입출력 및 프로세스를 모니터링하고 표시하는 회계 기능이 있다.
iotop 도구는 프로세스의 정확한 프로세스와 많이 사용되는 디스크 읽기/쓰기를 찾는데 매우 유용하다.
sudo apt-get install iotop
8. Iostat - Input/Output Statistics
isotat는 시스템 입력 및 출력 저장 장치 통계를 수집하고 보여주는 간단한 도구이다. 이 도구는 디바이스, 로컬 디스크, 원격 디스크 (NFS) 등 스토리지 디바이스 성능 문제를 추적하는데 자주 사용된다.
sudo apt-get install sysstat
9. IPTraf - Real-Time IP LAN Monitoring
IPTraf는 리눅스용 오픈 소스 콘솔 기반 네트워크(IP LAN)모니터링 유틸리티이다. TCP 플래그 정보, ICMP 세부정보, TCP/UDP 트래픽 고장, TCP 연결 패킷 및 바이트 수를 포함하여 네트워크를 통과하는 IP 트래픽 모니터와 같은 다양한 정보를 수집한다.
또한 TCP, UDP, IP, ICMP, non-IP, IP 체크섬 오류, 인터페이스 활동 등의 일반적이고 상세한 인터페이스 통계 정보를 수집한다.
sudo apt-get install iptraf
10. Pascct or Acct - Monitor User Activity
Pascct 또는 Acct 도구는 시스템에서 각 사용자의 활동을 모니터링하는데 매우 유용하다. 두 데몬은 백그라운드에서 실행되며 시스템에서 각 사용자의 전반적인 활동과 해당 사용자가 소비하는 리소스를 면밀히 감시한다.
이러한도구는 시스템 관리자가 각 사용자의 작업, 수행한 명령, 사용한 리소스 양, 시스템에서 활성 기간 등과 같은 활동을 추적하는데 매우 유용하다.
sudo apt-get install acct
'Linux' 카테고리의 다른 글
How to Use netstat on Linux (한글 번역) (0) | 2022.02.14 |
---|---|
시스템 모니터링 관련 명령어 (0) | 2022.02.14 |
Chmod (0) | 2022.02.14 |
CLI와 리눅스 기본 명령어 (0) | 2022.02.11 |