4개의 CLI 기반 Linux 성능 모니터링 도구: top, htop, ps 및 vmstat
이 페이지에서
- 여기서 무엇을 할까요?\n
- CLI 방식을 사용하는 이유는 무엇입니까?\n
- 1. 맨 위
- 2. 에이탑
- 4. 추신
- 4. Vmstat
Linux는 강력한 보안 기능을 갖춘 매우 안정적인 운영 체제입니다. 여러 경우에 기술적인 결함이나 일상적인 건강 검진의 일환으로 시스템 성능을 관찰해야 할 수도 있습니다. 성능 측정을 통해 시스템이 어떻게 작동하는지에 대한 빠른 통찰력을 얻을 수 있습니다. 성능 로그는 실행 중인 프로세스, 사용 중인 메모리 양, CPU 사용량 등을 알려줍니다. 이 정보는 효과적인 리소스 계획, 시스템 문제 디버깅 등과 관련된 결정을 내리는 데도 도움이 됩니다. 대부분의 Linux 배포판은 명령을 제공합니다. 이 작업을 수행하기 위한 선 도구 및 그래픽 도구. 이들 중 일부는 OS와 함께 사전 배송되며 일부는 설치해야 할 수도 있습니다. 이러한 도구는 실시간 모니터링 도구와 로그 기반 도구로 분류됩니다.
실시간 모니터링 도구는 이름에서 알 수 있듯이 현재 상태의 시스템에 대한 정보를 제공합니다. 결과는 지속적으로 업데이트됩니다.
로그 기반 도구는 나중에 처리, 분석 또는 다른 응용 프로그램과 함께 작업하기 위해 검색할 수 있는 파일에 성능 결과를 저장합니다.
여기서 무엇을 할까요?
이 가이드에서는 시스템 성능을 모니터링하기 위해 일반적으로 사용되는 몇 가지 명령줄 기반 도구를 소개합니다. 우리가 논의할 도구는 대부분의 Linux 기반 배포판에서 사용할 수 있지만 이 가이드에서는 Ubuntu 20.04 OS를 사용하고 있습니다.
CLI 방식을 사용하는 이유는 무엇입니까?
떠오르는 한 가지 분명한 질문은 우리가 명령줄 기반 도구에 더 관심을 갖는 이유입니다. 첫 번째 이유는 그래픽 환경이 작동하도록 하는 것이 항상 운이 좋은 것은 아니라는 것입니다. 작업 중인 시스템은 원격 프로덕션 서버일 수 있으며 그래픽 인터페이스가 없습니다. 잠시 동안 로컬 시스템이 있는 경우 그래픽 인터페이스를 설치할 수 있는 권한이 없을 수 있습니다. 또 다른 이유는 명령줄 인터페이스를 사용하면 멀티태스킹을 할 수 있기 때문입니다. Tmux는 동시에 여러 시스템을 모니터링할 수 있는 애플리케이션입니다.
1. 탑
이 명령은 실시간 시스템 상태 요약을 표시합니다. 출력에는 다양한 용도로 사용되는 시스템 메모리(RAM)의 양, 사용 중인 CPU 비율, 스왑 메모리 및 기타 정보가 표시됩니다. 메모리 및 CPU 사용 측면에서 프로세스 통계는 옵션 없이 단순히 top 명령을 실행하여 표시됩니다.
'top'이 실행되는 동안 'f'를 입력하여 'top' 출력에 표시할 열을 선택할 수도 있습니다. 새 화면에서 '스페이스 바' 또는 'd'를 눌러 열을 선택하거나 선택 취소한 다음 'esc'를 눌러 돌아갑니다. 아래 그림에서 일부 열을 제거하고 새 열(GID)을 추가했습니다.
2. 에이탑
Htop 명령은 더 많은 정보와 대화형 방식으로 데이터를 표시합니다. 프로세스 이름이 더 설명적이며 마우스 통합은 'top' 명령에는 없는 추가 기능입니다. 마우스를 사용하여 터미널 출력에 표시되는 다양한 열을 선택할 수 있습니다. 또 다른 이점은 출력물을 쉽게 파악하고 분석할 수 있도록 색상 코딩을 제공한다는 것입니다. 다음 명령을 사용하여 Ubuntu 20.04에 'Htop'을 설치할 수 있습니다.
$ sudo apt install htop
다양한 설정을 조정하기 위해 Htop은 기능 키를 사용합니다. 예를 들어 F3은 콘솔에 표시된 출력을 검색하는 데 사용할 수 있습니다. 특정 사용자가 소유한 프로세스를 나열하기 위해 사용할 명령은 다음과 같습니다.
$ htop -u User_Name
루트 사용자의 경우 명령은 다음과 같습니다.
$ htop -u root
$ htop -C
4. 추신
'ps' 명령 구현은 유닉스 시스템마다 현저하게 다릅니다. 두 경우 모두 출력이 동일하더라도 한 시스템에서 하나의 플래그(옵션)를 사용하고 다른 시스템에서 다른 플래그(옵션)를 사용할 수 있습니다. 'ps' 명령의 경우 실시간 업데이트를 받는 'top' 및 'htop'과 달리 출력이 정적입니다. 옵션이 전달되지 않으면 'ps' 명령은 활성 셸 및 최종 프로세스의 이름을 반환합니다.
다른 사용자(소유자)가 소유한 프로세스를 포함하여 실행 중인 모든 프로세스를 표시하려면 다음 명령을 사용하십시오.
$ ps aux
'u' 옵션을 사용했기 때문에 사용자 이름도 표시됩니다. 시스템에서 실행 중인 프로세스 목록을 표시하는 또 다른 방법은 다음 명령을 사용하는 것입니다.
$ ps -A
ps 명령 출력이 일반적으로 크다는 것을 알아차렸을 것입니다. 분석 또는 필터링 작업을 단순화하기 위해 'grep' 명령을 사용할 수 있습니다. 예를 들어 '/usr/lib/firefox/firefox' 프로세스를 필터링하려면 다음을 사용하십시오.
$ ps aux | grep ‘/usr/lib/firefox/firefox/
$ ps -aux > output.txt
위의 명령은 출력을 'output.txt' 파일로 보냅니다.
4. Vmstat
가상 메모리 리포터 또는 vmstat는 CPU, 가상 메모리(swapd), 블록 I/O, 디스크 등에 대한 데이터를 수집합니다. 옵션을 사용하지 않은 경우 이러한 매개 변수에 대한 평균 정보를 표시합니다. 평균은 시스템이 마지막으로 재부팅된 시간부터 가져옵니다. 데이터가 터미널에 표시되는 샘플링 속도를 지정할 수 있습니다.
$ vmstat 2
'-a' 옵션을 사용하면 활성 및 비활성 시스템 메모리가 제공됩니다. 'ps' 명령과 마찬가지로 'vmstat'의 출력은 플랫폼에 따라 다릅니다. 측정 횟수를 지정할 수도 있습니다.
$ vmstat 1 4
결론
대부분의 Linux 기반 배포판에서 일반적으로 사용되고 사용 가능한 네 가지 명령줄 기반 도구에 대한 간략한 설명입니다. 믿을 수 있는 도구는 여전히 많습니다. 각 도구에는 고유한 장단점이 있으며 특정 도구를 선택하는 것은 적용 시점에 따라 다릅니다. 우리는 이러한 도구에 대한 개요를 제공하기 위해 표면을 만졌습니다. 매뉴얼 페이지를 참조하여 사용할 수 있는 자세한 정보와 옵션을 찾을 수 있습니다.