검색

2장. 성능 모니터링 툴

download PDF
이 장에서는 게스트 가상 머신 환경을 모니터링하는 데 사용되는 툴에 대해 설명합니다.

2.1. perf kvm

kvm 옵션과 함께 perf 명령을 사용하여 호스트에서 게스트 운영 체제 통계를 수집하고 분석할 수 있습니다. perf 패키지는 perf 명령을 제공합니다. 다음 명령을 실행하여 설치됩니다.
# yum install perf
호스트에서 perf kvm 을 사용하려면 게스트의 /proc/modules/proc/kallsyms 파일에 액세스할 수 있어야 합니다. 절차 2.1. “게스트에서 호스트로 /proc 파일 복사” 를 참조하여 파일을 호스트로 전송하고 파일에서 보고서를 실행합니다.

절차 2.1. 게스트에서 호스트로 /proc 파일 복사

중요
필요한 파일(예: scp)을 직접 복사하는 경우 제로 길이의 파일만 복사합니다. 이 절차에서는 먼저 게스트의 파일을 임시 위치( cat 명령 포함)에 저장한 다음, perf kvm 에서 사용할 수 있도록 호스트에 복사하는 방법을 설명합니다.
  1. 게스트에 로그인하고 파일을 저장합니다.

    게스트에 로그인하고 /proc/ modules 및 /proc /kallsyms 를 임시 위치인 /tmp 에 저장합니다.
    # cat /proc/modules > /tmp/modules
    # cat /proc/kallsyms > /tmp/kallsyms
    
  2. 임시 파일을 호스트에 복사

    게스트에서 로그아웃한 후 다음 예제 scp 명령을 실행하여 저장된 파일을 호스트에 복사합니다. 호스트 이름과 TCP 포트가 다른 경우 교체해야합니다.
    # scp root@GuestMachine:/tmp/kallsyms guest-kallsyms
    # scp root@GuestMachine:/tmp/modules guest-modules
    
    이제 호스트의 게스트(guest-kallsymsguest-modules)의 두 개의 파일이 있어 perf kvm 에서 사용할 수 있습니다.
  3. kvm을 사용하여 기록 및 보고 이벤트

    이전 단계에서 얻은 파일을 사용하여 게스트, 호스트 또는 둘 다에서 이벤트를 기록하고 보고할 수 있습니다.
    다음 예제 명령을 실행합니다.
    # perf kvm --host --guest --guestkallsyms=guest-kallsyms \
    --guestmodules=guest-modules record -a -o perf.data
    
    참고
    명령에 --host--guest 를 모두 사용하면 출력이 perf.data.kvm 에 저장됩니다. --host 만 사용하면 파일 이름이 perf.data.host 이 됩니다. 마찬가지로 --guest 만 사용하면 파일 이름이 perf.data.guest 이 됩니다.
    Ctrl-C를 누르면 기록이 중지됩니다.
  4. 보고 이벤트

    다음 예제 명령은 기록 프로세스에서 얻은 파일을 사용하고 출력을 새 파일로 리디렉션하고 을 분석합니다.
    perf kvm --host --guest --guestmodules=guest-modules report -i perf.data.kvm \
    --force > analyze
    
    분석 파일의 내용을 보고 기록된 이벤트를 검사합니다.
    # cat analyze
    
    
    # Events: 7K cycles
    #
    # Overhead       Command  Shared Object      Symbol
    # ........  ............  .................  .........................
    #
        95.06%            vi  vi                 [.] 0x48287
         0.61%          init  [kernel.kallsyms]  [k] intel_idle
         0.36%            vi  libc-2.12.so       [.] _wordcopy_fwd_aligned
         0.32%            vi  libc-2.12.so       [.] __strlen_sse42
         0.14%       swapper  [kernel.kallsyms]  [k] intel_idle
         0.13%          init  [kernel.kallsyms]  [k] uhci_irq
         0.11%          perf  [kernel.kallsyms]  [k] generic_exec_single
         0.11%          init  [kernel.kallsyms]  [k] tg_shares_up
         0.10%      qemu-kvm  [kernel.kallsyms]  [k] tg_shares_up
    
    [output truncated...]
    
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.