하나 이상의 Linux 호스트에서 Fail2Ban의 차단, jail, 필터, 알림을 관리하는 웹 플랫폼입니다.
rfjakob/earlyoom
메모리와 스왑 부족으로 시스템이 멈추기 전에 가장 많은 메모리를 사용하는 프로세스를 종료하는 경량 Linux 사용자 공간 데몬입니다.
- 스타
- 4,351
- 포크
- 215
- 열린 이슈
- 28
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
earlyoom은 사용 가능한 메모리와 남은 스왑을 감시하고, 커널에 내장된 OOM killer가 작동하기 전에 프로세스를 종료하는 작은 Linux 데몬입니다. 커널 OOM killer는 보통 시스템이 거의 사용할 수 없게 될 때까지 기다리며, 그 전에 스왑을 사용하고 캐시를 비웁니다. earlyoom은 사용자 공간에서 실행되며 초당 최대 10회 메모리를 확인합니다. 이때 "free"가 아닌 "available" 메모리 값을 사용합니다.
기본적으로 사용 가능한 메모리와 남은 스왑이 모두 전체 용량의 10% 미만으로 떨어지면 earlyoom은 oom_score가 가장 높은 프로세스에 SIGTERM을 보냅니다. 임계값과 SIGKILL 단계, 종료 대상 선택은 --prefer, --avoid, --ignore, --sort-by-rss 같은 명령줄 옵션으로 조정할 수 있습니다. C로 작성되어 의존성이 없으며, 메모리를 mlockall()로 잠가 메모리 압박 상황에서도 계속 실행됩니다.
소스에서 make로 설치하거나 systemd 또는 init.d 서비스로 등록할 수 있으며, Debian, Ubuntu, Fedora, Arch 패키지로도 설치할 수 있습니다. 선택 사항인 d-bus 알림과 프로세스 종료 시 실행하는 스크립트(-N 및 -P)를 사용하면 종료에 대응할 수 있습니다.
핵심 기능
- 01사용 가능한 메모리와 남은 스왑을 초당 최대 10회 확인합니다.
- 02설정 가능한 임계값에 따라 먼저 SIGTERM을 보내고, 이후 SIGKILL을 보냅니다.
- 03oom_score 또는 --sort-by-rss 옵션을 사용한 RSS 기준으로 종료 대상을 선택합니다.
- 04--prefer, --avoid, --ignore 정규식을 지원해 종료 대상을 제어할 수 있습니다.
- 05선택 사항으로 d-bus 알림과 종료 전후 스크립트를 지원합니다.
- 06순수 C로 작성되어 의존성이 없으며 --dryrun 모드를 제공합니다.
활용 사례
- 브라우저나 IDE의 메모리 누수로 데스크톱이나 노트북이 응답하지 않는 상황을 방지합니다.
- 공용 Linux 서버나 빌드 머신을 폭주 프로세스로부터 보호합니다.
- 스왑 스래싱이 잦은 소용량 메모리 VM이나 싱글 보드 컴퓨터에서 실행합니다.
- 메모리 압박으로 프로세스가 종료될 때마다 알림을 보내거나 정리 스크립트를 실행합니다.
빠른 시작
- 1
저장소를 클론합니다
git clone https://github.com/rfjakob/earlyoom.git - 2
디렉터리로 이동해 컴파일합니다
cd earlyoom && make - 3
컴파일된 실행 파일을 실행합니다
./earlyoom
사용 전 알아둘 점
- Linux 전용이며 macOS나 Windows에서는 실행되지 않습니다.
- 시그널을 보내 프로세스를 종료하므로, 종료된 프로세스의 저장하지 않은 작업이 사라질 수 있습니다.
토픽
자주 묻는 질문
- earlyoom은(는) 무엇인가요?
- 메모리와 스왑 부족으로 시스템이 멈추기 전에 가장 많은 메모리를 사용하는 프로세스를 종료하는 경량 Linux 사용자 공간 데몬입니다. earlyoom은 사용 가능한 메모리와 남은 스왑을 감시하고, 커널에 내장된 OOM killer가 작동하기 전에 프로세스를 종료하는 작은 Linux 데몬입니다. 커널 OOM killer는 보통 시스템이 거의 사용할 수 없게 될 때까지 기다리며, 그 전에 스왑을 사용하고 캐시를 비웁니다. earlyoom은 사용자 공간에서 실행되며 초당 최대 10회 메모리를 확인합니다. 이때 "free"가 아닌 "available" 메모리 값을 사용합니다.
- earlyoom은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- earlyoom은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- earlyoom은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. earlyoom의 마지막 커밋은 2026년 10월 19일입니다.
- earlyoom은(는) 어디에 사용할 수 있나요?
- 브라우저나 IDE의 메모리 누수로 데스크톱이나 노트북이 응답하지 않는 상황을 방지합니다. 공용 Linux 서버나 빌드 머신을 폭주 프로세스로부터 보호합니다. 스왑 스래싱이 잦은 소용량 메모리 VM이나 싱글 보드 컴퓨터에서 실행합니다. 메모리 압박으로 프로세스가 종료될 때마다 알림을 보내거나 정리 스크립트를 실행합니다.
- earlyoom는 어떻게 설치하나요?
- 저장소를 클론합니다: git clone https://github.com/rfjakob/earlyoom.git 디렉터리로 이동해 컴파일합니다: cd earlyoom && make 컴파일된 실행 파일을 실행합니다: ./earlyoom
- earlyoom은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/rfjakob/earlyoom
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Linux에서 수신 대기 중인 포트를 확인하고 해당 프로세스를 살펴보거나 종료하는 터미널 UI
프로세스, 포트, 컨테이너 또는 파일의 시작 경로를 추적하는 CLI 및 TUI입니다.
온라인 및 오프라인 환경에서 Windows DriverStore의 드라이버 패키지를 확인하고, 내보내고, 정리할 수 있는 Windows GUI 도구입니다.
실시간 퍼지 검색으로 이름, 경로, 인수, 포트별 프로세스를 찾아 종료하는 터미널 도구
대화 기록을 원문 그대로 저장하고 의미 검색으로 찾아주는 로컬 우선 AI 메모리 시스템으로, MCP 서버와 CLI를 제공합니다.