본문으로 건너뛰기 Linux 커널 심화 시리즈 전체 목차 | 프로덕션 튜닝과 트러블슈팅

Linux 커널 심화 시리즈 전체 목차 | 프로덕션 튜닝과 트러블슈팅

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)에서 파일시스템 깊이 파고들기!