메모리 부족으로 인한 충돌을 방지하는 유틸리티 인 earlyoom 1.4의 새 버전 나열

Earlyoom

연초 여기 블로그에서 Earlyoom 유틸리티에 대해 이야기합니다. Fedora 개발자가 논의한 후 Fedora 32에서이 유틸리티를 백그라운드 프로세스로 사용하는 것으로 받아 들여졌으며,이를 통해 메모리 부족에 대한 시스템 응답을 개선하여 충돌을 방지 할 계획입니다.

이제 몇 주 후 1.4 개월의 개발 끝에 Earlyoom XNUMX의 새 버전 출시가 발표되었습니다..

프로젝트에 익숙하지 않은 사람들은 사용 가능한 메모리 양을 주기적으로 확인하는 백그라운드 스레드입니다. (MemAvailable, SwapFree) 초기 단계에서 메모리 부족 상태에 대응하려고합니다. 프로젝트 코드는 C로 작성되고 MIT 라이선스에 따라 배포됩니다.

관련 기사 :
메모리 부족 충돌을 방지하기 위해 Fedora 32에 포함하도록 스레드를 Earlyoom

사용 가능한 메모리 양이 적은 경우 지정된 값보다 earlyoom은 강제로 종료됩니다 (SIGTERM 또는 SIGKILL 전송) 가장 많은 메모리를 소비하는 프로세스의 프로세스 (가장 높은 값 / proc / * / oom_score를 가짐) 시스템 상태가 시스템 버퍼를 지우고 스왑 작업을 방해하지 않고 커널의 OOM (메모리 부족) 드라이버는 낮은 상태 메모리가 이미 임계 값에 도달 할 때 발생하며 일반적으로이 시점에서 발생합니다. 시스템이 더 이상 사용자 작업에 응답하지 않음).

Earlyoom은 강제 프로세스 알림 전송을 지원합니다. 데스크톱에 (알림을 전송하여), 종료가 선호되는 프로세스 이름 ( "–prefer"옵션) 또는 피해야하는 중지를 지정하는 데 정규식을 사용할 수있는 규칙을 정의하는 기능도 제공합니다. (–avoid 옵션).

Earlyoom 1.4의 새로운 기능은 무엇입니까?

이 새 버전에서는 몇 가지 변경 사항이 강조 표시됩니다. 내가 코드 청소 작업을한다고 언급 됨 프로세스 속성로드가 지연 되었기 때문에 완료 할 프로세스를 선택하는 논리가 50 % 빨라집니다.

그 외에도 루트 권한 재설정이 구현되었습니다. 드라이브 파일 "시스템 Earlyoom.service". 이 변경은 GUI 알림 수신 기능을 중단합니다.

GUI 알림을 다시 활성화하려면«라인의 주석 처리를 제거하여 루트 권한을 반환하는 것이 좋습니다.DynamicUser = true".

루트를 비활성화하면 마운트 할 때 메모리 사용량에 대한 정보를 얻을 수 없습니다. / proc 모드 hidepid = 1 또는 hidepid = 2.

다른 변경 사항 중 눈에 띄는 :

  • 종료 된 프로세스의 UID는 PID 및 프로세스 이름과 함께 레지스트리에 반영됩니다.
  • 밝은 회색 디버그 로그 강조 표시가 추가되었습니다.
  • 가능하면 블록에 로컬 인 변수 선언이 사용되었습니다.
  • 구성이 추가되었습니다. PATH_LEN 코드에 포함 된 버퍼 크기 값을 재정의합니다.
  • 시작 가능성 cppcheck 가능한 경우.
  • 성능 테스트 "벤치 만들기"추가.
  • 확장 된 테스트 스위트 (make test).

최종적으로 그것에 대해 더 알고 싶다면 이 릴리스에 대한 자세한 내용은 다음 링크. 

Linux에 earlyoom을 설치하는 방법은 무엇입니까?

이 유틸리티를 사용하는 데 관심이있는 사용자는 아래에서 공유하는 지침에 따라 수행 할 수 있습니다.

Earlyoom은 일부 배포판의 저장소 내에 있습니다. 인기있는 Linux의 Debian, Ubuntu 및 기타 파생 제품의 경우 이 중 다음 명령을 사용하여 설치할 수 있습니다.

sudo apt install earlyoom

이 작업이 완료되면 이제 다음 명령을 사용하여 서비스를 활성화해야합니다.

sudo systemctl enable earlyoom

그리고 다음으로 시작합니다.

sudo systemctl start earlyoom

의 경우 EPEL이 포함 된 Fedora 및 RHEL 8, 다음 명령으로 설치할 수 있습니다.

sudo dnf install earlyoom

서비스는 다음으로 활성화됩니다.

sudo systemctl enable --now earlyoom

마지막으로, Arch Linux 또는 기타 파생물의 경우, 설치는 다음 명령으로 완료됩니다.

sudo pacman -S earlyoom

서비스는 다음으로 활성화됩니다.

sudo systemctl enable --now earlyoom

다른 모든 Linux 배포의 경우 유틸리티 코드를 컴파일하여 설치를 수행 할 수 있습니다.

코드를 얻으려면 다음 명령으로 수행 할 수 있습니다.

git clone https://github.com/rfjakob/earlyoom.git

cd earlyoom

다음으로 컴파일을 진행합니다.

make

그리고 다음을 설치합니다 (Systemd가있는 경우) :

sudo make install

또는 Systemd가없는 사람들을 위해 :

sudo make install-initscript

서비스를 사용하려면 다음과 같이하십시오.

./earlyoom


기사의 내용은 우리의 원칙을 준수합니다. 편집 윤리. 오류를보고하려면 여기에.

5 코멘트, 당신의 것을 남겨주세요

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   인포 곤

    제목의 세부 사항 :«메모리 손실»

    1.    데이비드 나란 조

      관찰 해주셔서 감사합니다. 건배! 🙂

  2.   리눅스맨R4

    Manjaro (Arch에서 파생)에 설치에 세부 사항이 있다고 생각합니다. 일반 저장소에서 패키지를 찾지 못했습니다.

    따라서 설치는 yaourt를 통해 이루어져야합니다.

    yaourt earlyoom

    안녕 하쇼을 ¡!

    1.    데이비드 나란 조

      Arch에서는 pacman.conf에서 활성화해야하는 커뮤니티 저장소 내부에 있습니다. 언급 한 것과 같은 방식으로 AUR에도 있습니다.

      관찰 해 주셔서 감사합니다 😀

  3.   프란 파본

    안녕하세요, 터미널에 명령을 입력하지 않고 컴퓨터를 켤 때마다 MXLinux에서이 서비스를 시작하고 싶습니다. 어떻게 할 수 있습니까?