수업 1메모리 분석: free -m, /proc/meminfo, slabtop, smem—사용 중 vs 사용 가능 메모리와 스왑 동작 해석여기서 free, /proc/meminfo, slabtop, smem을 사용하여 메모리 동작을 분석합니다. 이 섹션은 Linux 캐싱, 버퍼, 회수 메커니즘을 설명하고, 스왑 사용량 해석, 메모리 누수, 조각화, 잘못된 제한 설정 감지 방법을 배웁니다.
Reading free -m and understanding cached memoryKey fields in /proc/meminfo for diagnosisUsing slabtop to inspect kernel slab usageUsing smem to attribute memory per processRecognizing swap thrashing and OOM risks수업 2네트워크 사용량과 병목: iftop, nload, ss, netstat, ip -s link, tc, tcpdump—네트워크 포화와 문제 연결 식별이 섹션은 iftop, nload, ss, ip, tc, tcpdump를 사용하여 네트워크 사용량과 병목 현상을 진단합니다. 포화 상태, 시끄러운 이웃, 연결 상태, 패킷 수준 문제를 식별하여 느린 애플리케이션 원인을 파악하는 방법을 배웁니다.
Monitoring live bandwidth with iftop and nloadInspecting sockets and states with ssUsing ip -s link to view interface errorsBasics of tc for shaping and rate limitingTargeted packet capture with tcpdump수업 3스토리지 지연과 깊은 I/O: blktrace, bpftrace (기본 스크립트), fio 테스트—지연과 처리량 측정 및 해석 방법이 섹션은 blktrace, 기본 bpftrace 스크립트, fio 벤치마크를 사용하여 스토리지 지연과 깊은 I/O 분석을 다룹니다. 지연과 처리량 측정, 큐 깊이 해석, 장치 제한과 워크로드 문제를 구분하는 방법을 배웁니다.
Understanding latency, IOPS, and throughputUsing blktrace to inspect block I/O patternsIntroductory bpftrace scripts for disk latencyDesigning fio workloads that mimic productionReading fio reports and spotting bottlenecks수업 4프로세스 조사: ps, top/htop 필터, pgrep, pidstat, nice/renice—CPU 및 메모리 무거운 프로세스 찾기ps, top 또는 htop 필터, pgrep, pidstat, nice 또는 renice를 사용하여 프로세스를 조사하는 방법을 배웁니다. CPU와 메모리 무거운 작업 식별, 프로세스별 I/O 추적, 경쟁 감소를 위한 우선순위 조정 방법을 배웁니다.
Listing and filtering processes with psUsing pgrep and pkill safely and preciselyUsing pidstat for per process CPU and I/OFiltering top and htop by user or resourceAdjusting priorities with nice and renice수업 5시스템 자원 개요: top, htop, vmstat, mpstat, dstat—각각 보여주는 내용과 예상 출력 패턴여기서 top, htop, vmstat, mpstat, dstat 같은 도구로 시스템 전체 자원 스냅샷을 읽는 법을 배웁니다. CPU, 메모리, 로드 메트릭 이해와 정상 대 병리적 사용 패턴 인식을 중점으로 합니다.
Key CPU, load, and memory fields in topUsing htop for interactive process analysisvmstat for run queue, swap, and I/O insightmpstat for per-CPU utilization and steal timedstat for combined multi-resource timelines수업 6디스크 I/O와 파일시스템 검사: iostat, iotop, sar -d, lsblk, df -h, du -sh, tune2fs, xfs_info—I/O 병목과 공간 부족 감지이 섹션은 iostat, iotop, sar -d, lsblk, df, du, tune2fs, xfs_info를 사용하여 디스크 I/O와 파일시스템 상태를 중점으로 합니다. 포화, 큐 축적, 파일시스템 오류, 공간 부족 상태를 감지하여 성능 저하를 방지합니다.
Using iostat to spot busy and slow devicesUsing iotop to find I/O heavy processessar -d for historical disk utilization trendsChecking layout and types with lsblk and dfFinding space hogs with du and inode checks수업 7시스템 로그와 저널링: journalctl (systemd), /var/log/messages, /var/log/syslog, 인증 로그—검색할 내용과 이유이 섹션은 systemd journalctl과 /var/log/messages, /var/log/syslog, 인증 로그 같은 고전 로그 파일 사용법을 설명합니다. 검색 패턴, 노이즈 필터링, 로그를 통한 근본 원인 분석 방법을 배웁니다.
journalctl basics and useful filtering optionsReading /var/log/messages and /var/log/syslogFinding errors, warnings, and rate-limited eventsAnalyzing authentication and sudo related logsCorrelating log timestamps with incidents수업 8시간 기반 및 과거 모니터링: sar, sysstat, collectl—사건 상관을 위한 과거 메트릭 수집 및 읽기sar, sysstat, collectl을 사용하여 과거 메트릭을 수집하고 해석하는 법을 배웁니다. 데이터 수집 스케줄링, 시계열 보고서 읽기, 성능 이상과 구성 변경 또는 배포 상관관계 방법을 설명합니다.
Enabling and configuring sysstat collectionUsing sar for CPU, memory, and I/O historyReading sar network and load average trendsUsing collectl for multi-resource timelinesCorrelating metrics with change windows수업 9커널과 스케줄러 인사이트: dmesg, sysctl -a, /proc/sys/vm 매개변수—커널 메시지와 튜닝 값이 드러내는 내용여기서 dmesg, sysctl, /proc/sys/vm 매개변수를 사용하여 커널과 스케줄러 인사이트를 탐구합니다. 커널 메시지, 튜닝 가능 값, 스케줄러 동작이 하드웨어 문제, 잘못된 구성, 튜닝 옵션을 드러내는 방법을 설명합니다.
Reading dmesg for hardware and driver issuesListing and querying sysctl tunable valuesKey /proc/sys/vm parameters for memoryScheduler related kernel parameters overviewSafely persisting kernel tuning changes수업 10근본 원인 결정 접근법: CPU, RAM, 디스크 I/O 또는 네트워크로 문제 분류를 위한 단계별 결정 트리이 섹션은 근본 원인 분석을 위한 실용적 결정 트리를 제시합니다. 사건을 CPU, 메모리, 디스크 I/O, 네트워크 제한으로 분류하고, 각 분기에서 실행할 도구와 수집 증거로 가설을 반복적으로 정제하는 방법을 배웁니다.
Initial triage and problem statementClassifying CPU versus I/O bound symptomsDistinguishing memory pressure from leaksIdentifying network versus local bottlenecksIterative hypothesis testing with metrics