28.2. 성능 분석에 선택한 bcc-tools 사용


BCC(BBF Compiler Collection) 라이브러리에서 미리 생성된 특정 프로그램을 사용하여 이벤트별로 시스템 성능을 효율적이고 안전하게 분석합니다. BCC 라이브러리에서 미리 생성된 프로그램 세트는 추가 프로그램 생성을 위한 예제 역할을 할 수 있습니다.

사전 요구 사항

프로세스

execsnoop 를 사용하여 시스템 프로세스 검사
  1. 하나의 터미널에서 execsnoop 프로그램을 실행합니다.
# /usr/share/bcc/tools/execsnoop
Copy to Clipboard Toggle word wrap
  1. ls 명령의 수명이 짧은 프로세스를 생성하려면 다른 터미널에서 다음을 입력합니다.

    $ ls /usr/share/bcc/tools/doc/
    Copy to Clipboard Toggle word wrap
  2. execsnoop 를 실행하는 터미널에는 다음과 유사한 출력이 표시됩니다.

    PCOMM	PID    PPID   RET ARGS
    ls   	8382   8287     0 /usr/bin/ls --color=auto /usr/share/bcc/tools/doc/
    ...
    Copy to Clipboard Toggle word wrap

    execsnoop 프로그램은 시스템 리소스를 사용하는 각 새 프로세스에 대한 출력 행을 출력합니다. ls 와 같이 곧 실행되는 프로그램의 프로세스도 감지할 수 있으며 대부분의 모니터링 도구는 등록하지 않습니다.

    execsnoop 출력에는 다음 필드가 표시됩니다.

PCOMM
상위 프로세스 이름입니다. (ls)
PID
프로세스 ID입니다. (8382)
PPID
상위 프로세스 ID입니다. (8287)
RET
프로그램 코드를 새 프로세스로 로드하는 exec() 시스템 호출(0)의 반환 값입니다.
ARGS
시작된 프로그램의 인수와 관련된 위치입니다.

execsnoop 에 대한 자세한 내용, 예제 및 옵션은 /usr/share/bcc/tools/doc/execsnoop_example.txt 파일을 참조하십시오.

exec() 에 대한 자세한 내용은 exec Cryostat 매뉴얼 페이지를 참조하십시오.

opensnoop 을 사용하여 명령이 열리는 파일을 추적
  1. 한 터미널에서 opensnoop 프로그램을 실행하여 uname 명령 프로세스에서만 열린 파일의 출력을 출력합니다.
# /usr/share/bcc/tools/opensnoop -n uname
Copy to Clipboard Toggle word wrap
  1. 다른 터미널에서 명령을 입력하여 특정 파일을 엽니다.

    $ uname
    Copy to Clipboard Toggle word wrap
  2. opensnoop 을 실행하는 터미널에는 다음과 유사한 출력이 표시됩니다.

    PID    COMM 	FD ERR PATH
    8596   uname 	3  0   /etc/ld.so.cache
    8596   uname 	3  0   /lib64/libc.so.6
    8596   uname 	3  0   /usr/lib/locale/locale-archive
    ...
    Copy to Clipboard Toggle word wrap

    opensnoop 프로그램은 전체 시스템에서 open() 시스템 호출을 감시하고 uname 이 이 방법을 따라 열려고 시도한 각 파일에 대한 출력 행을 출력합니다.

    opensnoop 출력에는 다음 필드가 표시됩니다.

    PID
    프로세스 ID입니다. (8596)
    COMM
    프로세스 이름입니다. (uname)
    FD
    파일 설명자 - open() 이 열려 있는 파일을 참조하기 위해 반환하는 값입니다. (3)
    ERR
    모든 오류.
    경로
    open() 가 열려는 파일의 위치입니다.

    명령이 존재하지 않는 파일을 읽으려고 하면 FD 열은 -1 을 반환하고 ERR 열은 관련 오류에 해당하는 값을 출력합니다. 결과적으로 opensnoop 는 제대로 작동하지 않는 애플리케이션을 식별하는 데 도움이 될 수 있습니다.

opensnoop 에 대한 자세한 정보, 예제 및 옵션은 /usr/share/bcc/tools/doc/opensnoop_example.txt 파일을 참조하십시오.

open() 에 대한 자세한 내용은 open(2) 매뉴얼 페이지를 참조하십시오.

biotop 를 사용하여 디스크에서 I/O 작업을 수행하는 상위 프로세스 모니터링
  1. 인수 30 을 사용하여 하나의 터미널에서 biotop 프로그램을 실행하여 30초 요약을 생성합니다.
# /usr/share/bcc/tools/biotop 30
Copy to Clipboard Toggle word wrap
참고

인수가 제공되지 않으면 기본적으로 1초마다 출력 화면이 새로 고쳐집니다.

  1. 다른 터미널에서 명령을 입력하여 로컬 하드 디스크 장치의 내용을 읽고 출력을 /dev/zero 파일에 씁니다.

    # dd if=/dev/vda of=/dev/zero
    Copy to Clipboard Toggle word wrap

    이 단계는 biotop 를 설명하기 위해 특정 I/O 트래픽을 생성합니다.

  2. biotop 를 실행하는 터미널에는 다음과 유사한 출력이 표시됩니다.

    PID    COMM             D MAJ MIN DISK       I/O  Kbytes     AVGms
    9568   dd               R 252 0   vda      16294 14440636.0  3.69
    48     kswapd0          W 252 0   vda       1763 120696.0    1.65
    7571   gnome-shell      R 252 0   vda        834 83612.0     0.33
    1891   gnome-shell      R 252 0   vda       1379 19792.0     0.15
    7515   Xorg             R 252 0   vda        280  9940.0     0.28
    7579   llvmpipe-1       R 252 0   vda        228  6928.0     0.19
    9515   gnome-control-c  R 252 0   vda         62  6444.0     0.43
    8112   gnome-terminal-  R 252 0   vda         67  2572.0     1.54
    7807   gnome-software   R 252 0   vda         31  2336.0     0.73
    9578   awk              R 252 0   vda         17  2228.0     0.66
    7578   llvmpipe-0       R 252 0   vda        156  2204.0     0.07
    9581   pgrep            R 252 0   vda         58  1748.0     0.42
    7531   InputThread      R 252 0   vda         30  1200.0     0.48
    7504   gdbus            R 252 0   vda          3  1164.0     0.30
    1983   llvmpipe-1       R 252 0   vda         39   724.0     0.08
    1982   llvmpipe-0       R 252 0   vda         36   652.0     0.06
    ...
    Copy to Clipboard Toggle word wrap

    biotop 출력에는 다음 필드가 표시됩니다.

PID
프로세스 ID입니다. (9568)
COMM
프로세스 이름입니다. (dd)
디스크
읽기 작업을 수행하는 디스크입니다. (vda)
I/O
수행된 읽기 작업 수입니다. (16294)
kbytes
읽기 작업에서 도달한 K바이트 수입니다. (14,440,636)
AVGms
평균 읽기 작업의 I/O 시간입니다. (3.69)

biotop 에 대한 자세한 내용, 예제 및 옵션은 /usr/share/bcc/tools/doc/biotop_example.txt 파일을 참조하십시오.

dd 에 대한 자세한 내용은 dd(1) 매뉴얼 페이지를 참조하십시오.

xfsslower 를 사용하여 예기치 않게 느린 파일 시스템 작업 노출

xfsslower 는 읽기, 쓰기, 열기 또는 동기화(fsync) 작업을 수행하는 XFS 파일 시스템에서 사용하는 시간을 측정합니다. 1 인수를 사용하면 프로그램에서 1ms보다 느린 작업만 표시합니다.

  1. 한 터미널에서 xfsslower 프로그램을 실행합니다.

    # /usr/share/bcc/tools/xfsslower 1
    Copy to Clipboard Toggle word wrap
    참고

    제공된 인수가 없는 경우 xfsslower 는 기본적으로 10ms보다 느린 작업을 표시합니다.

  2. 다른 터미널에서 명령을 입력하여 vim 편집기에 텍스트 파일을 생성하여 XFS 파일 시스템과의 상호 작용을 시작합니다.

    $ vim text
    Copy to Clipboard Toggle word wrap
  3. xfsslower 를 실행하는 터미널은 이전 단계의 파일을 저장할 때 유사한 것을 보여줍니다.

    TIME     COMM           PID    T BYTES   OFF_KB   LAT(ms) FILENAME
    13:07:14 b'bash'        4754   R 256     0           7.11 b'vim'
    13:07:14 b'vim'         4754   R 832     0           4.03 b'libgpm.so.2.1.0'
    13:07:14 b'vim'         4754   R 32      20          1.04 b'libgpm.so.2.1.0'
    13:07:14 b'vim'         4754   R 1982    0           2.30 b'vimrc'
    13:07:14 b'vim'         4754   R 1393    0           2.52 b'getscriptPlugin.vim'
    13:07:45 b'vim'         4754   S 0       0           6.71 b'text'
    13:07:45 b'pool'        2588   R 16      0           5.58 b'text'
    ...
    Copy to Clipboard Toggle word wrap

    각 행은 파일 시스템의 작업을 나타내며 특정 임계값보다 많은 시간이 걸렸습니다. xfsslower 는 가능한 파일 시스템 문제를 감지하여 예기치 않은 느린 작업을 수행할 수 있습니다.

    xfsslower 출력에는 다음 필드가 표시됩니다.

    COMM
    프로세스 이름입니다. (b'bash')
    T

    작업 유형입니다. (R)

    • Read
    • w rite
    • s ync
    OFF_KB
    KB의 파일 오프셋입니다. (0)
    파일 이름
    읽기, 쓰기 또는 동기화된 파일입니다.

xfsslower 에 대한 자세한 정보, 예제 및 옵션은 /usr/share/bcc/tools/doc/xfsslower_example.txt 파일을 참조하십시오.

fsync 에 대한 자세한 내용은 fsync(2) 매뉴얼 페이지를 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동