책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9788966264964
· 쪽수 : 1172쪽
· 출판일 : 2025-11-04
책 소개
[이 책에서 다루는 내용]
● 하드웨어, 커널, 애플리케이션 내부 구조와 성능 특성
● 복잡한 시스템을 신속하게 진단하기 위한 성능 분석 방법론
● CPU, 메모리, 파일 시스템, 디스크, 네트워크 자원 사용 최적화
● perf, Ftrace, BPF(BCC 및 bpftrace)를 활용한 정밀 프로파일링과 트레이싱
● 클라우드 하이퍼바이저 환경에서 직면하는 성능 문제
● 더 효과적인 벤치마킹 기법
목차
1장 소개
1.1 시스템 성능
1.2 역할
1.3 활동
1.4 관점
1.5 성능 분석의 어려움
__1.5.1 주관성
__1.5.2 복잡성
__1.5.3 복합 원인
__1.5.4 여러 성능 문제
1.6 지연시간
1.7 관측가능성
__1.7.1 카운터, 통계, 지표
__1.7.2 프로파일링
__1.7.3 트레이싱
1.8 실험
1.9 클라우드 컴퓨팅
1.10 방법론
__1.10.1 60초 리눅스 성능 분석
1.11 사례 연구
__1.11.1 느린 디스크
__1.11.2 소프트웨어 변경
__1.11.3 추가 자료
1.12 참고 자료
2장 방법론
2.1 용어
2.2 모델
__2.2.1 테스트 중인 시스템
__2.2.2 큐 시스템
2.3 개념
__2.3.1 지연시간
__2.3.2 시간 스케일
__2.3.3 트레이드오프
__2.3.4 튜닝을 위한 노력
__2.3.5 적합성의 수준
__2.3.6 분석을 언제 중단할 것인가
__2.3.7 성능 개선의 한시성
__2.3.8 부하 vs. 아키텍처
__2.3.9 규모 확장성
__2.3.10 지표
__2.3.11 사용률
__2.3.12 포화도
__2.3.13 프로파일링
__2.3.14 캐싱
__2.3.15 모른다는 것을 아는 것들
2.4 관점
__2.4.1 자원 분석
__2.4.2 워크로드 분석
2.5 방법론
__2.5.1 가로등 반방법론
__2.5.2 임의 변경 반방법론
__2.5.3 다른 사람 비난 반방법론
__2.5.4 전용 체크리스트 방법론
__2.5.5 문제 내역서
__2.5.6 과학적 방법론
__2.5.7 진단 사이클
__2.5.8 도구 방법론
__2.5.9 USE 방법론
__2.5.10 RED 방법론
__2.5.11 워크로드 특성화
__2.5.12 드릴다운 분석
__2.5.13 지연시간 분석
__2.5.14 R 방법론
__2.5.15 이벤트 트레이싱
__2.5.16 기준 통계
__2.5.17 정적 성능 튜닝
__2.5.18 캐시 튜닝
__2.5.19 마이크로 벤치마킹
__2.5.20 성능 최적화를 위한 지침
2.6 모델링
__2.6.1 엔터프라이즈 환경 vs. 클라우드 환경
__2.6.2 시각적 성능 식별
__2.6.3 암달의 확장성 법칙
__2.6.4 일반 확장성 법칙
__2.6.5 큐 이론
2.7 수용량 계획
__2.7.1 리소스 한계
__2.7.2 요인 분석
__2.7.3 스케일링 솔루션
2.8 통계
__2.8.1 성능 향상 정량화
__2.8.2 평균
__2.8.3 표준 편차, 백분위, 중앙값
__2.8.4 변동 계수
__2.8.5 다봉 분포
__2.8.6 극단값
2.9 모니터링
__2.9.1 시간에 따른 패턴
__2.9.2 모니터링 제품
__2.9.3 부팅 시점부터의 요약
2.10 시각화
__2.10.1 꺾은선 차트
__2.10.2 산점도
__2.10.3 히트맵
__2.10.4 타임라인 차트
__2.10.5 표면도
__2.10.6 시각화 도구
2.11 연습 문제
2.12 참고 자료
3장 운영 체제
3.1 용어
3.2 배경지식
__3.2.1 커널
__3.2.2 커널 및 사용자 모드
__3.2.3 시스템 콜
__3.2.4 인터럽트
__3.2.5 클럭과 유휴 상태
__3.2.6 프로세스
__3.2.7 스택
__3.2.8 가상 메모리
__3.2.9 스케줄러
__3.2.10 파일 시스템
__3.2.11 캐싱
__3.2.12 네트워킹
__3.2.13 장치 드라이버
__3.2.14 멀티프로세서
__3.2.15 선점
__3.2.16 자원 관리
__3.2.17 관측가능성 도구
3.3 커널
__3.3.1 유닉스
__3.3.2 BSD
__3.3.3 솔라리스
3.4 리눅스
__3.4.1 리눅스 커널 개발
__3.4.2 systemd
__3.4.3 KPTI(멜트다운)
__3.4.4 확장 BPF(Extended BPF)
3.5 기타 주제
__3.5.1 PGO 커널
__3.5.2 유니커널
__3.5.3 마이크로 커널 및 하이브리드 커널
__3.5.4 분산 운영 체제
3.6 커널 비교
3.7 연습 문제
3.8 참고 자료
__3.8.1 추가 자료
4장 관측가능성 도구
4.1 도구 적용 범위
__4.1.1 정적 성능 분석 도구
__4.1.2 비상 도구
4.2 도구 유형
__4.2.1 고정 카운터
__4.2.2 프로파일링
__4.2.3 트레이싱
__4.2.4 모니터링
4.3 관측가능성 소스
__4.3.1 /proc
__4.3.2 /sys
__4.3.3 지연 어카운팅
__4.3.4 netlink
__4.3.5 tracepoint
__4.3.6 kprobe
__4.3.7 uprobe
__4.3.8 USDT
__4.3.9 하드웨어 카운터(PMC)
__4.3.10 기타 관측가능성 소스
4.4 sar
__4.4.1 sar(1) 적용 범위
__4.4.2 sar(1) 모니터링
__4.4.3 sar(1) 실시간 모니터링
__4.4.4 sar(1) 관련 문서
4.5 트레이싱 도구
4.6 관측가능성 도구 관찰하기
4.7 연습 문제
4.8 참고 자료
5장 애플리케이션
5.1 애플리케이션 기초
__5.1.1 목표
__5.1.2 일반적인 경우 최적화하기
__5.1.3 관측가능성
__5.1.4 빅 오(Big O) 표기법
5.2 애플리케이션 성능 기법
__5.2.1 I/O 크기 변경
__5.2.2 캐싱
__5.2.3 버퍼링
__5.2.4 폴링
__5.2.5 동시성과 병렬성
__5.2.6 논블로킹 I/O
__5.2.7 프로세서 바인딩
__5.2.8 성능 최적화를 위한 지침
5.3 프로그래밍 언어
__5.3.1 컴파일 언어
__5.3.2 인터프리터 언어
__5.3.3 가상 머신
__5.3.4 가비지 컬렉션
5.4 방법론
__5.4.1 CPU 프로파일링
__5.4.2 Of-CPU 분석
__5.4.3 시스템 콜 분석
__5.4.4 USE 방법론
__5.4.5 스레드 상태 분석
__5.4.6 락 분석
__5.4.7 정적 성능 튜닝
__5.4.8 분산 트레이싱
5.5 관측가능성 도구
__5.5.1 perf
__5.5.2 profle
__5.5.3 ofcputime
__5.5.4 strace
__5.5.5 execsnoop
__5.5.6 syscount
__5.5.7 bpftrace
5.6 유의사항
__5.6.1 누락된 심벌
__5.6.2 누락된 스택
__5.7 연습 문제
__5.8 참고 자료
6장 CPU
6.1 용어
6.2 모델
__6.2.1 CPU 아키텍처
__6.2.2 CPU 메모리 캐시
__6.2.3 CPU 실행 큐
6.3 개념
__6.3.1 클럭 속도
__6.3.2 명령어
__6.3.3 명령어 파이프라인
__6.3.4 명령어 너비
__6.3.5 명령어 크기
__6.3.6 SMT
__6.3.7 IPC, CPI
__6.3.8 CPU 사용률
__6.3.9 사용자 시간/커널 시간 비율
__6.3.10 포화 상태
__6.3.11 선점
__6.3.12 우선순위 역전
__6.3.13 멀티프로세스, 멀티스레드
__6.3.14 워드 크기
__6.3.15 컴파일러 최적화
6.4 아키텍처
__6.4.1 하드웨어
__6.4.2 소프트웨어
6.5 방법론
__6.5.1 도구 방법론
__6.5.2 USE 방법론
__6.5.3 워크로드 특성화
__6.5.4 프로파일링
__6.5.5 사이클 분석
__6.5.6 성능 모니터링
__6.5.7 정적 성능 튜닝
__6.5.8 우선순위 튜닝
__6.5.9 리소스 제어
__6.5.10 CPU 바인딩
__6.5.11 마이크로 벤치마킹
6.6 관측가능성 도구
__6.6.1 uptime
__6.6.2 vmstat
__6.6.3 mpstat
__6.6.4 sar
__6.6.5 ps
__6.6.6 top
__6.6.7 pidstat
__6.6.8 time, ptime
__6.6.9 turbostat
__6.6.10 showboost
__6.6.11 pmcarch
__6.6.12 tlbstat
__6.6.13 perf
__6.6.14 profle
__6.6.15 cpudist
__6.6.16 runqlat
__6.6.17 runqlen
__6.6.18 softirqs
__6.6.19 hardirqs
__6.6.20 bpftrace
__6.6.21 기타 도구
6.7 시각화
__6.7.1 사용률 히트맵
__6.7.2 1초 미만 오프셋 히트맵
__6.7.3 플레임 그래프
__6.7.4 FlameScope
6.8 실험
__6.8.1 임의 부하 생성
__6.8.2 SysBench
6.9 튜닝
__6.9.1 컴파일러 옵션
__6.9.2 스케줄링 우선순위 및 클래스
__6.9.3 스케줄러 옵션
__6.9.4 스케일링 거버너
__6.9.5 프로세서 전원 상태
__6.9.6 CPU 바인딩
__6.9.7 배타적 CPU 셋
__6.9.8 리소스 제어
__6.9.9 보안 부팅 옵션
__6.9.10 프로세스 옵션(BIOS 튜닝)
6.10 연습 문제
6.11 참고 자료
7장 메모리
7.1 용어
7.2 개념
__7.2.1 가상 메모리
__7.2.2 페이징
__7.2.3 요구 페이징
__7.2.4 메모리 오버커밋
__7.2.5 프로세스 스와핑
__7.2.6 파일 시스템 캐시 사용
__7.2.7 사용률 및 포화도
__7.2.8 메모리 할당자
__7.2.9 공유 메모리
__7.2.10 워킹 셋 크기
__7.2.11 워드 크기
7.3 아키텍처
__7.3.1 하드웨어
__7.3.2 소프트웨어
__7.3.3 프로세스 가상 주소 공간
7.4 방법론
__7.4.1 도구 방법론
__7.4.2 USE 방법론
__7.4.3 사용 특성 파악
__7.4.4 사이클 분석
__7.4.5 성능 모니터링
__7.4.6 메모리 누수 탐지
__7.4.7 정적 성능 튜닝
__7.4.8 리소스 제어
__7.4.9 마이크로 벤치마킹
__7.4.10 메모리 축소 방법론
7.5 관측가능성 도구
__7.5.1 vmstat
__7.5.2 PSI
__7.5.3 swapon
__7.5.4 sar
__7.5.5 slabtop
__7.5.6 numastat
__7.5.7 ps
__7.5.8 top
__7.5.9 pmap
__7.5.10 perf
__7.5.11 drsnoop
__7.5.12 wss
__7.5.13 bpftrace
__7.5.14 기타 도구
7.6 튜닝
__7.6.1 튜닝 파라미터
__7.6.2 여러 페이지 크기
__7.6.3 메모리 할당자
__7.6.4 NUMA 바인딩
__7.6.5 리소스 제어
7.7 연습 문제
7.8 참고 자료
8장 파일 시스템
8.1 용어
8.2 모델
__8.2.1 파일 시스템 인터페이스
__8.2.2 파일 시스템 캐시
__8.2.3 2단계 캐시
8.3 개념
__8.3.1 파일 시스템 지연시간
__8.3.2 캐시
__8.3.3 임의 접근 I/O vs. 순차 접근 I/O
__8.3.4 프리패치
__8.3.5 미리 읽기
__8.3.6 Write-Back 캐시
__8.3.7 동기적 쓰기
__8.3.8 Raw I/O와 Direct I/O
__8.3.9 논블로킹 I/O
__8.3.10 메모리 매핑 파일
__8.3.11 메타데이터
__8.3.12 논리적 I/O vs. 물리적 I/O
__8.3.13 연산들은 동일하지 않습니다
__8.3.14 특수 파일 시스템
__8.3.15 액세스 타임스탬프
__8.3.16 용량
8.4 아키텍처
__8.4.1 파일 시스템 I/O 스택
__8.4.2 VFS
__8.4.3 파일 시스템 캐시
__8.4.4 파일 시스템 특징
__8.4.5 파일 시스템 유형
__8.4.6 볼륨과 풀
8.5 방법론
__8.5.1 디스크 분석
__8.5.2 지연시간 분석
__8.5.3 워크로드 특성화
__8.5.4 성능 모니터링
__8.5.5 정적 성능 튜닝
__8.5.6 캐시 튜닝
__8.5.7 워크로드 분리
__8.5.8 마이크로 벤치마킹
8.6 관측가능성 도구
__8.6.1 mount
__8.6.2 free
__8.6.3 top
__8.6.4 vmstat
__8.6.5 sar
__8.6.6 slabtop
__8.6.7 strace
__8.6.8 fatrace
__8.6.9 LatencyTOP
__8.6.10 opensnoop
__8.6.11 fletop
__8.6.12 cachestat
__8.6.13 ext4dist (xfs, zfs, btrfs, nfs)
__8.6.14 ext4slower (xfs, zfs, btrfs, nfs)
__8.6.15 bpftrace
__8.6.16 기타 도구
__8.6.17 시각화
8.7 실험
__8.7.1 임의 부하 생성
__8.7.2 마이크로 벤치마크 도구
__8.7.3 캐시 플러싱
8.8 튜닝
__8.8.1 애플리케이션 호출
__8.8.2 ext4
__8.8.3 ZFS
8.9 연습 문제
8.10 참고 자료
9장 디스크
9.1 용어
9.2 모델
__9.2.1 기본적인 디스크
__9.2.2 디스크 내장 캐시
__9.2.3 컨트롤러
9.3 개념
__9.3.1 시간 측정
__9.3.2 시간 스케일
__9.3.3 캐싱
__9.3.4 임의 접근 I/O vs. 순차 접근 I/O
__9.3.5 읽기/쓰기 비율
__9.3.6 I/O 크기
__9.3.7 같은 IOPS라도 모두 다르다
__9.3.8 데이터 전송이 아닌 디스크 명령
__9.3.9 사용률
__9.3.10 포화도
__9.3.11 I/O 대기율
__9.3.12 동기 vs. 비동기
__9.3.13 디스크 I/O vs. 애플리케이션 I/O
9.4 아키텍처
__9.4.1 디스크 유형 599
____9.4.1.1 자기 회전식 드라이브
____9.4.1.2 반도체 드라이브
____9.4.1.3 영구 메모리
__9.4.2 인터페이스
__9.4.3 저장 장치 유형
__9.4.4 운영 체제 디스크 I/O 스택
9.5 방법론
__9.5.1 도구 방법론
__9.5.2 USE 방법론
__9.5.3 성능 모니터링
__9.5.4 워크로드 특성화
__9.5.5 지연시간 분석
__9.5.6 정적 성능 튜닝
__9.5.7 캐시 튜닝
__9.5.8 리소스 제어
__9.5.9 마이크로 벤치마킹
__9.5.10 스케일링
9.6 관측가능성 도구
__9.6.1 iostat
__9.6.2 sar
__9.6.3 PSI
__9.6.4 pidstat
__9.6.5 perf
__9.6.6 biolatency
__9.6.7 biosnoop
__9.6.8 iotop, biotop
__9.6.9 biostacks
__9.6.10 blktrace
__9.6.11 bpftrace
__9.6.12 MegaCli
__9.6.13 smartctl
__9.6.14 SCSI 로깅
__9.6.15 기타 도구
9.7 시각화
__9.7.1 꺾은선 차트
__9.7.2 지연시간 산점도
__9.7.3 지연시간 히트맵
__9.7.4 오프셋 히트맵
__9.7.5 사용률 히트맵
9.8 실험
__9.8.1 임의 부하 생성
__9.8.2 부하 발생기 제작
__9.8.3 마이크로 벤치마크 도구
__9.8.4 임의 접근 읽기 예제
__9.8.5 ioping
__9.8.6 fo
__9.8.7 blkreplay
9.9 튜닝
__9.9.1 운영 체제 튜닝 옵션
__9.9.2 디스크 장치 튜닝 파라미터
__9.9.3 디스크 컨트롤러 튜닝 옵션
9.10 연습 문제
9.11 참고 자료
10장 네트워크
10.1 용어
10.2 모델
__10.2.1 네트워크 인터페이스
__10.2.2 네트워크 컨트롤러
__10.2.3 프로토콜 스택
10.3 개념
__10.3.1 네트워크 및 라우팅
__10.3.2 프로토콜
__10.3.3 캡슐화
__10.3.4 패킷 크기
__10.3.5 지연시간
__10.3.6 버퍼링
__10.3.7 연결 백로그
__10.3.8 인터페이스 교섭
__10.3.9 혼잡 회피
__10.3.10 사용률
__10.3.11 로컬 연결
10.4 아키텍처
__10.4.1 프로토콜
__10.4.2 하드웨어
__10.4.3 소프트웨어
10.5 방법론
__10.5.1 도구 방법론
__10.5.2 USE 방법론
__10.5.3 워크로드 특성화
__10.5.4 지연시간 분석
__10.5.5 성능 모니터링
__10.5.6 패킷 스니핑
__10.5.7 TCP 분석
__10.5.8 정적 성능 튜닝
__10.5.9 리소스 제어
__10.5.10 마이크로 벤치마킹
10.6 관측가능성 도구
__10.6.1 ss
__10.6.2 ip
__10.6.3 ifconfg
__10.6.4 nstat
__10.6.5 netstat
__10.6.6 sar
__10.6.7 nicstat
__10.6.8 ethtool
__10.6.9 tcplife
__10.6.10 tcptop
__10.6.11 tcpretrans
__10.6.12 bpftrace
__10.6.13 tcpdump
__10.6.14 Wireshark
__10.6.15 기타 도구
10.7 실험
__10.7.1 ping
__10.7.2 traceroute
__10.7.3 pathchar
__10.7.4 iperf
__10.7.5 netperf
__10.7.6 tc
__10.7.7 기타 도구
__10.8 튜닝
__10.8.1 시스템 단위 튜닝
__10.8.2 소켓 옵션
__10.8.3 설정
10.9 연습 문제
10.10 참고 자료
11장 클라우드 컴퓨팅
11.1 배경지식
__11.1.1 인스턴스 유형
__11.1.2 확장 가능한 아키텍처
__11.1.3 수용량 계획
__11.1.4 스토리지
__11.1.5 멀티테넌시
__11.1.6 오케스트레이션(쿠버네티스)
11.2 하드웨어 가상화
__11.2.1 구현
__11.2.2 오버헤드
__11.2.3 리소스 제어
__11.2.4 관측가능성
____11.2.4.1 특권 게스트/호스트
____11.2.4.2 게스트
____11.2.4.3 전략
11.3 OS 가상화
__11.3.1 구현
__11.3.2 오버헤드
__11.3.3 리소스 제어
__11.3.4 관측가능성
____11.3.4.1 기존 도구들
____11.3.4.2 호스트
____11.3.4.3 게스트(컨테이너)
____11.3.4.4 전략
11.4 경량 가상화
__11.4.1 구현
__11.4.2 오버헤드
__11.4.3 리소스 제어
__11.4.4 관측가능성
11.5 기타 유형
11.6 비교
11.7 연습 문제
11.8 참고 자료
12장 벤치마킹
12.1 배경지식
__12.1.1 벤치마킹을 하는 이유
__12.1.2 효과적인 벤치마킹
__12.1.3 벤치마킹 실패
12.2 벤치마킹 유형
__12.2.1 마이크로 벤치마킹
__12.2.2 시뮬레이션
__12.2.3 리플레이
__12.2.4 산업 표준
12.3 방법론
__12.3.1 수동적 벤치마킹
__12.3.2 능동적 벤치마킹
__12.3.3 CPU 프로파일링
__12.3.4 USE 방법론
__12.3.5 워크로드 특성화
__12.3.6 커스텀 벤치마크
__12.3.7 연속 부하 증가
__12.3.8 정상 여부 검사
__12.3.9 통계적 분석
__12.3.10 벤치마킹 체크리스트
12.4 벤치마크 질문
12.5 연습 문제
12.6 참고 자료
13장 perf
13.1 하위 명령어 개요
13.2 원 라이너
__사용할 수 있는 이벤트
__이벤트 집계
__프로파일링
__정적 트레이싱
__동적 트레이싱
__리포팅
13.3 perf 이벤트
13.4 하드웨어 이벤트
__13.4.1 빈도수 샘플링
13.5 소프트웨어 이벤트
13.6 tracepoint 이벤트
13.7 Probe 이벤트
__13.7.1 kprobe
__13.7.2 uprobe
__13.7.3 USDT
13.8 perf stat
__13.8.1 옵션
__13.8.2 인터벌 통계
__13.8.3 CPU별 밸런스
__13.8.4 이벤트 필터
__13.8.5 섀도우 통계
13 9 perf record
__13.9.1 옵션
__13.9.2 CPU 프로파일링
__13.9.3 스택 추적
13.10 perf report
__13.10.1 TUI
__13.10.2 STDIO
13.11 perf script
__13.11.1 플레임 그래프
__13.11.2 트레이스 스크립트
13.12 perf trace
__13.12.1 커널 버전
13.13 기타 명령어
13.14 perf 문서
13.15 참고 자료
14장 Ftrace
14.1 활용 가능성 개요
14.2 tracefs(/sys)
__14.2.1 tracefs 구성 요소
14.3 Ftrace 함수 프로파일러
14.4 Ftrace 함수 트레이싱
__14.4.1 trace 사용하기
__14.4.2 trace_pipe 사용하기
__14.4.3 옵션
14.5 tracepoint
__14.5.1 필터
__14.5.2 트리거
14.6 kprobe
__14.6.1 이벤트 트레이싱
__14.6.2 인자
__14.6.3 리턴 값
__14.6.4 필터와 트리거
__14.6.5 kprobe 프로파일링
14.7 uprobe
__14.7.1 이벤트 트레이싱
__14.7.2 인자 및 리턴 값
__14.7.3 필터 및 트리거
__14.7.4 uprobe 프로파일링
14.8 Ftrace function_graph
__14.8.1 그래프 트레이싱
__14.8.2 옵션
14.9 Ftrace hwlat
14.10 Ftrace 히스토그램 트리거
__14.10.1 단일 키
__14.10.2 필드
__14.10.3 지시자
__14.10.4 PID 필터
__14.10.5 다중 키
__14.10.6 스택 트레이스 키
__14.10.7 합성 이벤트
14.11 trace-cmd
__14.11.1 하위 명령어 개요
__14.11.2 trace-cmd 원 라이너
__14.11.3 trace-cmd vs. perf(1)
__14.11.4 trace-cmd function_graph
__14.11.5 KernelShark
__14.11.6 trace-cmd 문서
14.12 perf ftrace
14.13 perf-tools
__14.13.1 도구 사용 분야
__14.13.2 단일 목적 도구
__14.13.3 다목적 도구
__14.13.4 perf-tools 원 라이너
__14.13.5 예시
__14.13.6 perf-tools vs. BCC/BPF
__14.13.7 문서
14.14 Ftrace 문서
14.15 참고 자료
15장 BPF
15 1 BCC
__15.1.1 설치
__15.1.2 도구 사용 분야
__15.1.3 단일 목적 도구
__15.1.4 다목적 도구
__15.1.5 원 라이너
__15.1.6 다목적 도구 사례
__15.1.7 BCC vs. bpftrace
__15.1.8 문서
15.2 bpftrace
__15.2.1 설치 1033
__15.2.2 도구 1033
__15.2.3 원 라이너
__15.2.4 프로그래밍
__15.2.5 참고 자료
__15.2.6 문서
15.3 참고 자료
16장 사례 연구
16.1 원인 불명의 성능 향상
__16.1.1 문제 정의
__16.1.2 분석 전략
__16.1.3 통계
__16.1.4 구성
__16.1.5 PMC
__16.1.6 소프트웨어 이벤트
__16.1.7 트레이싱
__16.1.8 결론
16.2 추가 정보
16.3 참고 자료
부록 A USE 방법론: 리눅스
부록 B sar 요약
부록 C bpftrace 원 라이너
부록 D 연습 문제 해답(일부)
부록 E 시스템 성능 분야의 주요 인물



















