Linux Kernel

Linux Kernel: Process Management

ps aux로 프로세스 목록을 보거나, 좀비(zombie) 프로세스가 쌓여서 시스템이 이상하게 동작하는 걸 겪어본 적이 있다면 "프로세스가 어떻게 뜨고, 어떻게 관리되고, 어떻게 사라지는가"를 커널 관점에서 이해할 필요가 생긴다. 유저 공간에서는 fork()/exec()…

Continue ReadingLinux Kernel: Process Management

eBPF를 위한 라즈베리파이 커널 빌드 가이드

라즈베리파이 OS에는 이미 최신 커널이 올라가 있고, CONFIG_BPF_SYSCALL과 CONFIG_BPF_JIT도 기본으로 켜져 있어서 단순한 eBPF 프로그램은 커널을 새로 빌드하지 않아도 로드된다. 문제는 그다음부터다. bpftrace나 최신 BCC 도구 상당수는 BTF(BPF Type Format)…

Continue ReadingeBPF를 위한 라즈베리파이 커널 빌드 가이드

F2FS 메타데이터 오버헤드를 줄이는 방법

F2FS로 포맷한 SSD/eMMC의 실제 사용 가능 용량은 명목 용량보다 항상 작다. 이 차이를 "메타데이터가 공간을 많이 차지해서"라고 뭉뚱그려 설명하는 경우가 많은데, 실제로는 구조적 메타데이터(SIT·NAT·SSA 등)와 오버프로비저닝(GC를 위해 남겨두는 여유 공간)이라는…

Continue ReadingF2FS 메타데이터 오버헤드를 줄이는 방법

‘Bad Epoll'(CVE-2026-46242): 리눅스 커널 use-after-free가 AI 감사망까지 피해간 이유

epoll은 nginx, Node.js, Python asyncio, 각종 데이터베이스는 물론 안드로이드의 이벤트 루프까지 떠받치는 리눅스의 핵심 I/O 멀티플렉싱 기능입니다. 그런데 2026년 5월, 이 epoll 서브시스템에서 일반 사용자 권한만으로 root를 딸 수 있는…

Continue Reading‘Bad Epoll'(CVE-2026-46242): 리눅스 커널 use-after-free가 AI 감사망까지 피해간 이유

KASAN 사용법

KASAN(Kernel Address SANitizer)은 리눅스 커널에서 메모리 버그를 탐지하고 디버깅하는 도구로, 메모리 오버플로우 및 언더플로우, use-after-free 같은 일반적인 메모리 관련 오류를 검출하는 데 도움을 준다. 이 글에서는 KASAN 사용 방법에 대해…

Continue ReadingKASAN 사용법

sched_ext 사용법

리눅스 커널의 CPU 스케줄러(CFS 등)는 범용 워크로드에 맞춰 설계됐지만, 게이밍처럼 짧은 지연시간이 중요한 워크로드와 데이터센터의 처리량 위주 워크로드, 배터리 절약이 우선인 모바일 워크로드를 하나의 스케줄링 정책으로 동시에 만족시키기는 어렵다. 과거에는…

Continue Readingsched_ext 사용법

리눅스 커널 block 레이어의 압축 기술: zram와 dm-vdo

메모리가 부족한 서버나 컨테이너 환경에서는 스왑을 켜는 순간 디스크 I/O 지연이 그대로 애플리케이션 응답 속도로 이어진다. 반대로 스토리지 비용을 아끼려고 압축을 걸고 싶어도, 파일시스템 레벨 압축(Btrfs, ZFS 등)은 해당 파일시스템을…

Continue Reading리눅스 커널 block 레이어의 압축 기술: zram와 dm-vdo