패스잇
인프라 & 클라우드 · 심화

시스템 메모리가 부족해지는 상황에서 Linux 커널의 OOM Killer가 동작하는 방식과 OOM Score의 의미, 그리고 스와핑(swapping) 메커니즘이 시스템 성능에 미치는 영향 및 최적화 방안에 대해 설명해주세요.

힌트 · OOM Killer는 시스템 안정성을 위해 특정 프로세스를 강제 종료하며, OOM Score는 종료될 우선순위를 나타냅니다. 스와핑은 디스크 I/O를 유발하여 성능 저하를 가져올 수 있으므로 swappiness 조절 등을 통해 최적화합니다.

OOM KillerOOM Score스와핑(Swapping)메모리 압박(Memory Pressure)LRU(Least Recently Used)

모범답안

네, 말씀하신 내용에 대해 설명드리겠습니다.

Linux 커널에서 메모리가 부족해지면 OOM (Out Of Memory) Killer가 동작합니다. OOM Killer는 시스템의 안정성을 위해 메모리를 가장 많이 사용하거나, 중요도가 낮은 프로세스를 강제로 종료하여 메모리를 확보합니다.

OOM Score는 각 프로세스에 할당되는 점수로, OOM Killer가 어떤 프로세스를 먼저 종료할지 결정하는 기준이 됩니다. 점수가 높을수록 종료될 가능성이 높습니다. OOM Score는 프로세스의 메모리 사용량, 실행 시간, 권한 등을 고려하여 계산됩니다.

스와핑은 RAM의 내용을 디스크로 옮겨 RAM 공간을 확보하는 메커니즘입니다. 메모리가 부족할 때 유용하지만, 디스크 I/O는 RAM 접근보다 훨씬 느리기 때문에 시스템 성능 저하를 유발합니다.

스와핑 성능 최적화는 swappiness 값을 조절하는 방식으로 이루어집니다. swappiness는 커널이 RAM의 내용을 얼마나 적극적으로 스왑 공간으로 옮길지 결정하는 파라미터입니다. 값이 낮을수록 스와핑을 덜 사용하고, 높을수록 더 적극적으로 사용합니다. 일반적으로 서버 환경에서는 swappiness 값을 낮춰 스와핑을 최소화하고, 메모리 부족 상황을 최대한 늦추는 것이 좋습니다. 예를 들어, sysctl vm.swappiness=10과 같이 설정할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Linux 면접 질문

← Linux 면접 질문 전체 보기