리눅스에서 atop 명령어 가이드
atop 명령은 Linux에서 시스템 리소스를 모니터링하기 위한 도구입니다. 프로세스 수준에서 시스템 리소스의 부하량과 관련된 수많은 정보를 표시합니다. 이 유틸리티를 마스터하면 사용자에게 무한한 이점이 있을 수 있습니다.
먼저 시스템에 atop 명령을 설치해야 합니다. Debian/Ubuntu 사용자는 다음과 같이 할 수 있습니다.
sudo apt install atop
다른 Linux 사용자는 표준 패키지 관리자와 atop
키워드를 사용할 수 있습니다.
이 명령에는 시스템과 관련된 여러 기밀 정보를 표시하는 기능이 있습니다. 데이터 추상화를 방지하기 위해 sudo su
또는 sudo -s
를 사용하여 높은 액세스 권한을 얻을 수 있습니다. sudo에 대한 완전한 문서가 있습니다.
atop 명령의 기본 출력
시스템 리소스의 모든 프로세스 수준 사용을 표시하려면 터미널에서 atop
을 실행하면 됩니다.
atop
보시다시피 전체 레이아웃은 두 개의 패널로 나뉩니다. 상단 패널은 시스템 리소스의 누적 사용량을 제공하고 하단 패널은 각 프로세스에 대한 분해 정보를 표시합니다. 각각을 보자
atop 명령의 누적 통계
이 보기의 각 항목은 특정 시스템 리소스에 중점을 둡니다.
1. 프로세스 관련 통계
- PRC - "프로세스\를 나타냅니다.\n
- 처음 두 값은
sys
(시스템) 및사용자
프로세스에서 소비한 시간입니다. - 다음에는 총 프로세스 수가
#proc
로 표시됩니다. - 다음 값은 현재 시스템에서 실행 중인 스레드 수입니다. (
#trun
) #tslpi
는 현재 잠자고 있고 중단 가능한 스레드 수를 나타냅니다.#tslpu
는 현재 잠자고 있고 중단할 수 없는 스레드 수를 나타냅니다.- 다음 값은 좀비 프로세스의 수입니다.
- 다음은 복제 시스템 호출의 수입니다.
- 마지막 값은 경과 시간 동안 종료된 프로세스 수입니다. (
#exit
)
2. 성과 관련 통계
- CPU - CPU 사용률과 관련이 있습니다.
- 처음 두 값은 시스템 및 사용자 프로세스에 의한 모든 코어의 사용률을 나타냅니다.
- 인터럽트 요청에 사용된 CPU 비율. (<코드>irq)
- 다음 값은 결합된 모든 코어의 유휴 비율입니다.
- 다음 값은 각 CPU 코어가 수행해야 하는 대기 시간을 나타냅니다.
- 다음은 도루 시간의 백분율입니다.
guest
는 다른 가상 머신에서 소비된 CPU 시간인 게스트 비율을 나타냅니다.- 마지막 두 값은 CPU의 현재 주파수를 나타냅니다.
- 처음 세 값은 1분, 5분, 15분 등 서로 다른 기간의 평균 로드입니다.
- 다음에 컨텍스트 전환 횟수(
csw
) - 다음은 인터럽트 수입니다(
intr
) - 마지막 값은 사용 가능한 CPU 수입니다.
3. 메모리 관련 통계
- MEM - 메모리 사용률
- 지원되는 총 물리적 메모리.
- 현재 사용 가능한 메모리입니다.\n
- 현재 캐시 메모리입니다.\n
- \buffer에서와 같이
buff
는 파일 시스템 메타데이터에서 소비되는 메모리의 양입니다. -
slab
로 표시된 커널의 메모리 할당을 위한 메모리 합계입니다.\n - 공유 메모리의 양입니다.
SWP - 메모리 교환.
3. 디스크 관련 통계
- DSK - 디스크 사용량
- 첫 번째 값은 시스템이 요청을 처리하는 시간의 백분율을 나타냅니다.
- 읽기 요청이 발행되었습니다.
- 작성 요청이 발행되었습니다.
- 읽기 요청당 데이터를 읽는 속도(KB)입니다.
- 쓰기 요청당 데이터가 기록되는 속도(KB)입니다.
- 다음 두 값은 디스크에서 읽고 쓰는 시간 속도(MB)입니다.
- 마지막 값은 요청 처리에 소요된 평균 시간(밀리초)입니다.
4. 네트워크 관련 통계
- NET - 전송 계층의 네트워크 통계
transport
는 데이터 프로토콜을 다루는 네트워킹의 전송 계층을 나타냅니다.- TCP 프로토콜에 따라 시스템이 수신한 세그먼트 수입니다. (
tcpi
) - 전송된 세그먼트 수입니다. (
tcpo
) - UCP 프로토콜에 대한 유사한 통계입니다. (UDP 입력의 경우
udpi
) 및 UDP 출력의 경우 (udpo
). tcpao
는 활성 TCP 열린 연결 수입니다.- 이전
tcppo
의 반대는 수동 TCP 연결의 수이지만 여전히 열려 있습니다. tcprs
로 TCP 재전송 수치.- UDP 입력 오류의
udpie
수치.
network
는 인터넷 프로토콜, IPv4 및 IPv6 결합을 처리하는 네트워크 계층을 나타냅니다.- 네트워크 인터페이스에서 수신한 IP 패킷 수입니다. (
ipi
) - 인터페이스에서 전송된 IP 패킷 수입니다. (
ipo
) - 다른 인터페이스로 전달되는 IP 패킷의 양. (
ipfrw
) - 전달된 IP 패킷의 양. (
배달
) - 마지막 두 항목은 네트워크 인터페이스에서 수신하고 전송한 ICMP 패킷의 수입니다.
- 첫 번째 값은
wlp19s0
과 같은 네트워크 인터페이스의 이름입니다. - 다음 두 패킷은 특정 인터페이스를 통해 수신 및 전송된 패킷 수입니다. (
pcki
및pcko
) sp
와 같은 메가비트(Mbps) 단위의 네트워크 속도입니다.- 초당 비트가 수신 및 전송되는 속도입니다. (
si
및so
) - 수신 및 전송된 패킷의 오류 수입니다. (
erri
및erro
). - 마지막 두 값은 양방향으로 삭제된 패킷입니다. (
drpi
및drpo
)
이것으로 atop 명령의 상단 패널에 대한 설명을 마칩니다.
프로세스별 시스템 리소스
atop
명령의 값이 특정 시간 간격 후에 계속 업데이트된다는 점은 주목할 가치가 있습니다.atop
명령의 일반 출력에는 각 프로세스 항목에 대한 다음 세부 정보가 표시됩니다.- PID - 프로세스 ID.
- SYSCPU - 시스템을 처리하는 동안 프로세스가 소비하는 CPU의 양.
- USRCPU - 프로세스가 사용자 모드에서 실행되는 동안 소비되는 CPU의 양입니다.
- VGROW - 마지막 값 업데이트 이후 프로세스가 점유한 가상 메모리의 양
- RGROW - 마지막 값 업데이트 이후 증가한 상주(물리적) 메모리 양
- RDDSK - 디스크 읽기 중에 전송되는 데이터의 크기
- WRDSK - 디스크 쓰기 중에 전송되는 데이터의 크기
- RUD - 프로세스가 실행되는 실제 사용자 ID입니다.
- EUID - 프로세스가 실행되는 유효 사용자 ID입니다.
- ST - 프로세스의 현재 상태
- EXC - 프로세스 종료 후 종료 코드
- THR - 프로세스 내의 스레드 수입니다.
- S - 프로세스 기본 스레드의 현재 상태
- CPU - 전체 프로세스의 CPU 사용률입니다.
- CMD - 프로세스의 이름입니다.
이 일반 출력에서 프로세스는 CPU 사용률을 기준으로 정렬됩니다. 보시다시피 이 특정 출력에서 모든 유형의 시스템 리소스에 대한 소량의 정보를 얻습니다.
각 시스템 리소스 유형에 대한 프로세스 수준 정보를 연구해 보겠습니다.
atop 명령의 메모리 기반 출력
atop
명령은 시스템에서 실행 중인 각 프로세스의 메모리 소비를 연구할 수 있는 기회를 제공합니다. 다음을 실행하여 그렇게 할 수 있습니다.atop -m
보시다시피 메모리 옵션
-m
을 추가해도 상단 패널은 일정하게 유지됩니다. 이제 각 프로세스 항목의 열을 이해하겠습니다.- PID - 프로세스 ID.
- TID - 스레드 ID.
- MINFLT - 사용 가능한 페이지의 데이터에 액세스하여 해결된 사소한 페이지 오류 수
- MAJFLT - 특히 디스크에서 데이터를 검색하여 해결된 주요 페이지 오류 수
- VSTEXT - 프로세스 텍스트가 차지하는 가상 메모리.
- VSLIBS - 프로세스의 공유 라이브러리가 차지하는 가상 메모리
- VDATA - 프로세스 개인 데이터의 가상 메모리 크기
- VSTACK - 프로세스 개인 스택의 가상 메모리 크기
- VSIZE - 프로세스의 총 가상 메모리 크기.
- RSIZE - 프로세스가 차지하는 총 상주 메모리.
- MEM - 프로세스에서 소비하는 RAM의 백분율입니다.
프로세스는
MEM
열을 기준으로 정렬됩니다.atop
은 다소 대화형 명령 유틸리티이므로 자체 내에서 열을 변경할 수 있습니다. 정보가 표시되는 동안 특정 옵션을 입력하기만 하면 됩니다.예를 들어 터미널에서
atop
을 실행한 후m
을 입력하기만 하면 메모리별 출력으로 전환할 수 있습니다.Linux에서 atom 명령을 사용한 디스크별 출력
디스크 사용과 관련된 정보를 추출하려면
atop
명령과 함께-d
옵션을 사용할 수 있습니다.atop -d
디스크별 출력에는 눈에 띄는 내용이 많지 않습니다. 주요 결과 중 일부는 다음과 같습니다.
- RDDSK - 디스크 읽기 중에 전송되는 데이터의 크기
- WRDSK - 디스크 쓰기 중에 전송되는 데이터의 크기
- WCANCL - 초기에 작성되었지만 나중에 철회된 데이터의 크기
- DSK - 점유된 디스크의 백분율입니다.
- CMD - 프로세스의 이름입니다.
프로세스는
DSK
열을 기준으로 정렬된다는 점에 유의해야 합니다.atop 명령으로 백그라운드에서 실행 중인 명령 찾기
이는 명령줄 출력 형식의 프로세스로 백그라운드에서 실행 중인 명령을 제공합니다.
atop -c
명령줄 열 아래에 줄을 복사하여 붙여넣으면 동일한 프로세스를 다시 실행할 수 있습니다. 이 출력은 프로세스를 시작하기 위해 백그라운드에서 실행된 명령을 정확하게 알려줍니다.
스레드 기반 정보
프로세스 정보를 검사하는 대신
atop
명령은 스레드별 리소스 사용률을 확인하는 기능을 제공합니다. 이 출력에 액세스하려면 다음을 실행할 수 있습니다.atop -y
또는 명령이 이미 시스템 리소스 정보를 표시하고 있을 때
y
키를 누르십시오.시스템 리소스 열이 변경되지 않은 것이 분명합니다. 추가된 모든 것은 해당 프로세스의 스레드 수입니다.
기타 정보
atop
명령을 사용하여 추출할 수 있는 많은 종류의 정보가 있습니다. 유용한 것 중 일부는 다음과 같습니다.1. 프로세스 시작 시간 찾기
-v
옵션을 사용하여 프로세스 특성을 얻을 수 있습니다.atop -v
2. 시스템의 각 사용자에 대한 프로세스 수
atop -au
3. 프로세스가 작업 중인 코어는 무엇입니까?
이러한 특정 종류의 정보는 프로세스의 스케줄링 특성에 속합니다.
-s
옵션을 사용하여 액세스할 수 있습니다.atop -s
몇 가지 '최상' 트릭
유용할 수 있는 특정
atop
명령 트릭이 있습니다.z
키를 사용하여 화면위
일시 중지.- 값 업데이트의 시간 간격 변경 -
i
키와 초 수를 사용하여 변경하고자 합니다. - 중단하여
t
키를 사용하여 값을 즉시 업데이트합니다. - 디스플레이 종료 -
q
키 사용.
결론
우리는
atop
명령이 Linux 사용자가 처리하기에는 너무 많을 수 있다는 것을 알고 있습니다. 이 훌륭한 명령에 대해 배우려면 인내와 인내가 필요합니다. 질문이 있으시면 댓글 섹션에서 언제든지 핑을 보내주십시오.
- 처음 두 값은