Linux 커널 심화 시리즈 전체 목차 | 프로덕션 튜닝과 트러블슈팅
이 글의 핵심
Linux 커널 심화 시리즈 전체 목차: 파일시스템, 프로세스, 메모리, 디스크 관리 4개 고급 주제로 프로덕션 전문가 되기.
시리즈 소개
Linux 커널 심화 시리즈는 운영체제의 내부 동작 원리를 깊이 있게 다룹니다. 파일시스템, 프로세스 스케줄링, 메모리 관리, 디스크 I/O까지 프로덕션 환경 트러블슈팅과 성능 튜닝에 필수적인 지식을 제공합니다.
SRE, DevOps 엔지니어, 백엔드 개발자가 “왜 이런 현상이 발생하는가?”를 커널 수준에서 이해하고, perf, bpftrace, sysctl 등 실전 도구로 문제를 해결할 수 있도록 구성했습니다.
📚 전체 목차
🔴 파일시스템 (고급)
#03 파일·inode 내부
30분 | 고급 | 튜토리얼
- ext4/XFS 온디스크 inode 구조
- 익스텐트(Extent) vs 직접/간접 블록
- XFS 포크(fork), B+트리 인덱싱
- df vs df -i (disk full vs inode full)
- 핵심: inode, extent, ext4, XFS
🟣 프로세스 (고급)
#05 프로세스·스케줄러
32분 | 고급 | 튜토리얼
- task_struct, 태스크 상태 머신 (RUNNING/SLEEPING/STOPPED)
- CFS(Completely Fair Scheduler), vruntime, 런큐
- NUMA 친화성, cgroup CPU 제한
- 스틸 시간, 문맥 전환 비용
- 핵심: CFS, task_struct, NUMA, cgroup
🔵 메모리 (고급)
#06 메모리·가상 메모리
36분 | 고급 | 튜토리얼
- MMU, 다단계 페이지 테이블, TLB
- Minor/Major 페이지 폴트, COW(Copy-on-Write)
- ZONE(DMA/NORMAL/HIGHMEM), 버디 할당기, SLUB
- kswapd, 직접 회수(Direct Reclaim), OOM Killer
- THP(Transparent Huge Pages), vm.swappiness
- 핵심: MMU, Page Fault, ZONE, Reclaim
🟠 디스크 (고급)
#09 디스크·블록 계층
32분 | 고급 | 튜토리얼
- ext4/XFS 저널(journal), 트랜잭션 복구
- 블록 할당기, 공간 관리 (allocator)
- blk-mq, I/O 스케줄러 (none, mq-deadline, BFQ)
- iostat, blktrace로 병목 분석
- 핵심: Journal, blk-mq, I/O Scheduler
🎯 학습 경로
1️⃣ 파일시스템 전문가
#03 파일·inode → #09 디스크·블록 계층
목표: 파일시스템 내부, 저널, I/O 경로 이해
난이도: ⭐⭐⭐⭐⭐
활용: df -i 트러블슈팅, 파일 복구, 디스크 성능 튜닝
2️⃣ 성능 최적화 엔지니어
#05 프로세스·스케줄러 → #06 메모리·가상 메모리 → #09 디스크·블록 계층
목표: CPU, 메모리, 디스크 병목 해결
난이도: ⭐⭐⭐⭐⭐
활용: perf, bpftrace, sysctl 튜닝
3️⃣ SRE/DevOps
#03 파일·inode → #05 프로세스·스케줄러 → #06 메모리
목표: 프로덕션 장애 대응, 모니터링
난이도: ⭐⭐⭐⭐☆
활용: OOM 분석, 메모리 누수 추적, CPU throttling 해결
💡 시리즈 특징
✅ 커널 수준 깊이
- task_struct, mm_struct 등 커널 자료구조
- 페이지 테이블, 런큐, 블록 계층 동작 원리
- syscall 경로, 커널 모드 전환
✅ 프로덕션 중심
- 실제 장애 사례와 해결 방법
- perf, bpftrace, strace 실전 사용법
- sysctl, cgroup 튜닝 가이드
✅ 트러블슈팅 도구
df -i(inode 고갈)vmstat,free -h(메모리 압박)iostat,blktrace(디스크 병목)perf top,perf record(CPU 프로파일링)
✅ 멀티 아키텍처
- x86_64, ARM64 차이점
- NUMA, THP, CFS 동작 비교
- 컨테이너(cgroup) 환경 고려
🔗 관련 시리즈
- C 언어 시리즈 - 시스템 프로그래밍 기초
- Rust 시리즈 - 메모리 안전한 시스템 언어
- Go 시리즈 - 고루틴, 스케줄러
❓ 자주 묻는 질문
Q1. Linux 시리즈는 누가 봐야 하나요?
A: SRE, DevOps, 백엔드 개발자, 시스템 프로그래머. 프로덕션 장애 대응과 성능 튜닝이 필요한 모든 분.
Q2. 선수 지식이 필요한가요?
A: C 언어 기초, Linux 명령어, 운영체제 개론 수준이면 충분합니다. 깊이 있는 내용은 글에서 설명합니다.
Q3. 실무에서 바로 쓸 수 있나요?
A: 네. df -i, perf, vmstat 등 실전 도구와 sysctl 튜닝 방법을 다룹니다.
Q4. 커널 소스 코드를 봐야 하나요?
A: 필수는 아니지만, 이해를 돕기 위해 핵심 자료구조와 함수를 소개합니다.
📖 추천 학습 자료
책
온라인
도구
시작하기: 파일·inode 내부 (#03)에서 파일시스템 깊이 파고들기!