tencent cloud

피드백

Linux 인스턴스의 atop 모니터링 툴 사용

마지막 업데이트 시간:2024-02-02 11:01:47

    작업 시나리오

    atop은 Linux 시스템 리소스와 프로세스 모니터링 툴로, 일정 주기로 시스템의 실행 상태를 기록하고, 시스템 리소스(CPU, 메모리, 디스크, 네트워크) 사용 현황 및 프로세스 실행 상황 데이터를 수집하여 로그 파일 형식으로 디스크에 저장합니다. 인스턴스에 문제가 있는 경우 해당 atop 로그 파일을 가져와 분석할 수 있습니다.
    본문은 운영 체제가 CentOS 7.9인 CVM을 예시로 Atop 모니터링 툴 사용법을 소개합니다.

    작업 순서

    atop 설치

    2. 다음 명령어를 실행하여 atop을 설치합니다.
    yum install atop -y
    페이지의 프롬프트 메시지가 Complete!이면 설치가 완료된 것입니다.

    atop 설정 및 실행

    아래의 절차를 참고하여 atop 모니터링 주기 및 로그 보관 시간을 설정합니다.
    1. 다음 명령을 실행하고 VIM 편집기를 사용하여 atop 구성 파일을 엽니다.
    vim /etc/sysconfig/atop
    2. i를 눌러 편집 모드로 들어가 다음 구성을 수정합니다.
    LOGINTERVAL=600LOGINTERVAL=30으로 변경하여 기본 모니터링 주기 600초를 30초로 변경합니다. 30초를 권장하며, 실제 상황에 맞게 수정하시면 됩니다.
    'LOGGENERATIONS=28'을 'LOGGENERATIONS=7'로 변경하여 기본 로그 보관 시간을 28일에서 7일로 변경합니다. atop이 장기간 디스크 공간을 너무 많이 차지하는 것을 방지하기 위해 7일을 권장하며 실제 상황에 맞게 수정하시면 됩니다. 수정 완료 후는 다음 이미지와 같습니다.
    
    
    3. Esc를 누르고 :wq를 입력하여 변경 사항을 저장하고 편집기를 종료합니다.
    4. CentOS 7 및 이후 버전에서는 다음과 같은 명령을 실행하여 atop을 실행합니다.
    systemctl restart atop

    atop 분석

    atop 실행 후 수집된 데이터는 /var/log/atop 디렉터리의 로그 파일에 기록됩니다. 실제 로그 파일명을 가져와 다음 명령어를 실행하여 로그 파일을 확인하고, atop 일반 명령어 시스템 리소스 모니터링 필드 설명을 참고하여 분석하시기 바랍니다.
    atop -r /var/log/atop/atop_2021xxxx

    atop 일반 명령어

    로그 파일을 연 후, 다음 명령을 사용하여 필요한 데이터를 필터링합니다.
    c: 프로세스 CPU 사용량 내림차순으로 필터링합니다.
    m: 프로세스 메모리 사용량 내림차순으로 필터링합니다.
    d: 프로세스 디스크 사용량 내림차순으로 필터링합니다.
    a: 프로세스 리소스 종합 사용률 내림차순으로 필터링합니다.
    n: 프로세스 네트워크 사용률 내림차순으로 필터링합니다(이 명령을 사용하려면 추가 커널 모듈을 설치해야 함. 기본값: 미지원).
    t: 다음 모니터링 수집점으로 이동합니다.
    T: 이전 모니터링 수집점으로 이동합니다.
    b: 시점을 지정합니다. 형식: YYYYMMDDhhmm.

    시스템 리소스 모니터링 필드 설명

    다음 이미지는 일부 모니터링 필드 및 값입니다. 값은 샘플링 주기에 따라 얻은 것으로 참고용입니다.
    
    주요 매개변수는 다음과 같습니다.
    ATOP 라인: 호스트 이름, 정보 샘플링 날짜 및 시점.
    PRC 라인: 프로세스 전체 실행 상황.
    sys 및 user: CPU를 사용하여 프로세스를 처리할 때 커널 모드와 사용자 모드의 CPU 점유 시간 비율.
    #proc: 총 프로세스 수.
    #zombie: 좀비 프로세스 수.
    #exit: Atop 샘플링 기간 동안 종료된 프로세스 수.
    CPU 라인: 전체 CPU 사용 현황(즉, 전체 CPU 리소스로서의 멀티 코어 CPU). CPU 행의 각 필드 값을 더한 결과는 N00%이며, 여기서 N은 CPU 코어 수입니다.
    sys 및 user: CPU를 사용하여 프로세스를 처리할 때 커널 모드와 사용자 모드의 CPU 점유 시간 비율.
    irq: CPU가 인터럽트를 처리하는 데 사용되는 시간 비율.
    idle: CPU가 완전히 유휴 상태에 있는 시간 비율.
    wait: ‘프로세스의 디스크 IO 대기로 인한 CPU 유휴 상태’ 시간 비율.
    CPL 라인: CPU 부하 상태.
    avg1, avg5 및 avg15: 지난 1분, 5분, 15분 내 실행 대기열에 있는 평균 프로세스 수량.
    csw: 컨텍스트 스왑 횟수.
    intr: 인터럽트 발생 횟수.
    MEM 라인: 메모리 사용 현황.
    tot: 총 물리적 메모리.
    cache : 페이지 캐싱에 사용되는 메모리.
    buff: 파일 캐싱에 사용되는 메모리.
    slab: 시스템 커널이 차지하는 메모리.
    SWP 라인: 스왑 공간 사용 현황.
    tot: 총 스왑 공간.
    free: 여유 스왑 공간.
    PAG 라인: 가상 메모리 페이징 상황
    swin 및 swout: 스왑 인 및 아웃된 메모리 페이지 수.
    DSK 라인: 디스크 사용 현황. 각 디스크 장치는 1열에 해당. sdb 장치가 있으면 DSK 정보 행을 추가합니다.
    sda: 디스크 장치 표시.
    busy: 디스크 작동 중 시간 비율.
    read 및 write: 읽기 및 쓰기 요청 수량.
    NET 라인: NET의 여러 열에는 각 활동에 대한 전송 계층(TCP 및 UDP), IP 계층 및 네트워크 포트 정보를 포함한 네트워크 상태가 표시됩니다.
    xxxxxi: 각 레이어 또는 활성 네트워크 포트 수신 패킷 수.
    xxxxxo: 각 레이어 또는 활성 네트워크 포트 발송 패킷 수.

    atop 정지

    비즈니스 환경에서 atop 장기간 실행은 권장하지 않으며, 문제 진단 완료 후 atop을 중지할 수 있습니다. CentOS 7 및 이후 버전에서는 다음과 같은 명령을 실행하여 atop을 정지시킬 수 있습니다.
    systemctl stop atop
    
    문의하기

    고객의 업무에 전용 서비스를 제공해드립니다.

    기술 지원

    더 많은 도움이 필요하시면, 티켓을 통해 연락 바랍니다. 티켓 서비스는 연중무휴 24시간 제공됩니다.

    연중무휴 24시간 전화 지원