Launch service pages are live SaaS, web app, indie game, and home server public-context handoffs. No secrets.
Services SaaS Web App Game Homelab

Out of Memory 개념 정리

Linux 서버 운영 관점에서 Out of Memory 개념 정리의 목적, 적용 범위, 실행 전 확인할 항목을 정리한 기술 노트입니다.

핵심 요약

  • Linux 서버 운영 기준으로 글의 목적과 적용 범위를 먼저 확인할 수 있게 정리했습니다.
  • 원문의 명령어, 로그, 절차는 보존하고 운영자가 먼저 봐야 할 맥락을 앞쪽에 배치했습니다.
  • 실행형 명령은 대상 환경, 권한, 백업 또는 롤백 경로를 확인한 뒤 적용하는 것을 전제로 합니다.

적용 범위

이 글은 Linux 서버 운영 업무에서 Out of Memory 개념 정리를 빠르게 검토하기 위한 운영 노트입니다. 실습이나 변경 작업은 각자의 랩/운영 환경 기준으로 값과 절차를 재확인한 뒤 진행합니다.

정리된 본문

Out of Memory(OOM)은 시스템에서 사용 가능한 메모리가 모두 사용되어 더 이상 할당할 수 없는 상황을 의미합니다. 이는 시스템의 안정성과 성능에 영향을 미칩니다.

OOM이 발생하는 경우, 시스템은 메모리를 할당할 수 없으므로 프로세스가 종료될 수 있습니다. 이는 시스템의 안정성을 저해하고, 서비스 중단으로 이어질 수 있습니다.

OOM이 발생할 경우 대처 방법은 다음과 같습니다.

  1. 메모리 사용량 모니터링
  • 메모리 사용량을 모니터링하면 시스템에서 사용 가능한 메모리 양을 파악할 수 있습니다.
  • top, free, vmstat 등의 명령어를 사용하여 메모리 사용량을 확인할 수 있습니다.
  1. 메모리 누수 확인
  • 메모리 누수는 메모리를 할당한 후에도 사용하지 않는 메모리를 계속 보유하는 것을 의미합니다.
  • 메모리 누수는 프로그램의 버그나 메모리 할당 및 해제 방식의 오류로 인해 발생할 수 있습니다.
  • Valgrind 등의 도구를 사용하여 메모리 누수를 확인할 수 있습니다.
  1. Swap 사용량 모니터링
  • Swap은 메모리가 부족할 때 사용되는 가상 메모리 공간입니다.
  • Swap 공간이 부족하면 OOM이 발생할 수 있습니다.
  • swapon, swapoff 등의 명령어를 사용하여 Swap 사용량을 확인할 수 있습니다.
  1. OOM 로그 확인
  • Linux는 OOM이 발생하면 /var/log/messages 파일에 로그를 남깁니다.
  • OOM 로그를 확인하여 어떤 프로세스가 OOM을 일으켰는지 확인할 수 있습니다.
  1. 메모리 추가 설치
  • 메모리 추가 설치는 메모리 부족 문제를 해결하는 가장 간단한 방법입니다.
  • 물리적인 메모리를 추가 설치하여 메모리 부족 문제를 해결할 수 있습니다.
  1. Swap 공간 추가 설정
  • Swap 공간 추가 설정은 메모리가 부족할 때 사용되는 가상 메모리 공간인 Swap 공간을 추가로 설정하는 방법입니다.
  • Swap 공간을 추가로 설정하여 메모리 부족 문제를 해결할 수 있습니다.

OOM이 발생하는 경우, 시스템 로그를 확인하여 어떤 프로세스가 OOM을 일으켰는지 파악할 필요가 있습니다. OOM 로그는 /var/log/messages 파일에 기록됩니다. 다음은 OOM 로그 예시입니다.

Feb  4 10:21:05 server1 kernel: Out of memory: Kill process 1234 (httpd) score 500 or sacrifice child
Feb  4 10:21:05 server1 kernel: Killed process 1234 (httpd) total-vm:123456kB, anon-rss:12345kB, file-rss:0kB, shmem-rss:0kB

위의 예시에서는 httpd 프로세스가 OOM을 일으켰다는 것을 알 수 있습니다. 이 경우, 메모리 사용량을 줄이거나 메모리 추가 설치 등의 대처 방법을 사용하여 문제를 해결할 수 있습니다.

운영 체크리스트

  • 대상 OS, 버전, 네트워크 구간, 권한 범위가 현재 환경과 일치하는지 확인합니다.
  • 운영 장비에서 실행하기 전 테스트 환경 또는 읽기 전용 명령으로 먼저 검증합니다.
  • 설정 변경, 패키지 설치, 서비스 재시작이 포함되면 백업과 롤백 절차를 준비합니다.

실무 지원이 필요하다면

이 글의 내용을 실제 환경에 맞게 검증하거나 운영 절차로 정리해야 한다면, Linux 서버 상태 점검, 장애 로그 분석, 운영 체크리스트 작성를 1회성 기술 리뷰 또는 짧은 운영 개선 스프린트로 도와드릴 수 있습니다.

  • 대상 환경과 현재 증상을 기준으로 실행 전 체크리스트를 정리합니다.
  • 명령어, 로그, 설정 변경이 필요한 경우 안전한 검증 순서와 롤백 포인트를 분리합니다.
  • Out of Memory 개념 정리와 연결된 작업을 보고서, Runbook, 자동화 초안 형태로 정리합니다.

서비스 안내 보기 · 주제별 글 읽기 · 작업 문의

\n\n\n