Liệt kê phiên bản mới của Earlyoom 1.4, một tiện ích để tránh bị treo do thiếu bộ nhớ

phòng sớm

Vào đầu năm chúng ta nói chuyện ở đây trên blog về tiện ích Earlyoom, mà sau cuộc thảo luận của các nhà phát triển Fedora, đã được chấp nhận sử dụng tiện ích này trong Fedora 32 như một quy trình nền, trong đó họ có ý định cải thiện phản ứng của hệ thống đối với việc thiếu bộ nhớ và do đó tránh sự cố.

Bây giờ vài tuần sau và Sau tám tháng phát triển, phiên bản Earlyoom 1.4 mới đã được công bố.

Đối với những người không quen thuộc với dự án, họ nên biết rằng đây là một chuỗi nền kiểm tra định kỳ dung lượng bộ nhớ có sẵn (MemAvailable, SwapFree) và cố gắng đáp ứng với tình trạng hết bộ nhớ ở giai đoạn đầu. Mã dự án được viết bằng C và được phân phối theo giấy phép MIT.

Phòng sớm
Bài viết liên quan:
Thu phóng sớm chuỗi để đưa vào Fedora 32 để tránh lỗi bộ nhớ

Nếu dung lượng bộ nhớ khả dụng ít hơn hơn giá trị được chỉ định, Earlyoom sẽ kết thúc bằng vũ lực (bằng cách gửi SIGTERM hoặc SIGKILL) quá trình của quá trình tiêu tốn nhiều bộ nhớ nhất (có giá trị cao nhất / proc / * / oom_score), không có bộ đệm hệ thống xóa trạng thái hệ thống và can thiệp vào trình điều khiển công việc hoán đổi (OOM (hết bộ nhớ) trong hạt nhân kích hoạt khi trạng thái thấp bộ nhớ đã đạt đến các giá trị quan trọng và nói chung tại thời điểm này hệ thống không còn phản hồi các hành động của người dùng).

Earlyoom hỗ trợ gửi thông báo quy trình bắt buộc đến màn hình nền (bằng cách gửi thông báo), đồng thời cung cấp khả năng xác định các quy tắc trong đó các biểu thức chính quy có thể được sử dụng để chỉ định tên của các quá trình mà sự kết thúc được ưu tiên (tùy chọn "–prefer") hoặc các điểm dừng cần tránh (Tùy chọn –avoid).

Có gì mới trong Earlyoom 1.4?

Trong phiên bản mới này, một số thay đổi được đánh dấu, trong đó Nó được đề cập rằng tôi làm việc để làm sạch mã và điều đó cũng do việc tải các thuộc tính quy trình bị chậm, logic của việc lựa chọn các quy trình để hoàn thành được tăng tốc lên 50%.

Bên cạnh đó cũng thiết lập lại đặc quyền root đã được thực hiện trong tệp ổ đĩa "systemd sớmoom.service". Thay đổi này phá vỡ khả năng nhận thông báo GUI.

Để bật lại thông báo GUI, đề xuất trả lại quyền root bằng cách bỏ ghi chú dòng «DynamicUser = true".

Mặc dù vô hiệu hóa root cũng khiến bạn không thể nhận được thông tin về mức tiêu thụ bộ nhớ khi gắn kết / proc Chế độ hidepid = 1 hoặc hidepid = 2.

Những thay đổi khác nổi bật:

  • UID của quá trình đã chấm dứt được phản ánh trong sổ đăng ký, ngoài PID và tên của quá trình.
  • Đã thêm tô sáng nhật ký gỡ lỗi màu xám nhạt.
  • Nếu có thể, việc khai báo các biến cục bộ cho các khối đã được sử dụng.
  • Đã thêm cấu hình PATH_LEN để ghi đè giá trị của kích thước bộ đệm nhúng trong mã.
  • Khả năng bắt đầu kiểm tra cpp nếu có.
  • Kiểm tra hiệu suất "làm cho băng ghế dự bị" được thêm vào.
  • Bộ thử nghiệm mở rộng (thực hiện thử nghiệm).

Cuối cùng nếu bạn muốn biết thêm về nó Về bản phát hành này, bạn có thể kiểm tra chi tiết trong liên kết theo dõi. 

Làm thế nào để cài đặt Earlyoom trên Linux?

Đối với những ai quan tâm có thể dùng thử tiện ích này có thể thực hiện theo hướng dẫn mà chúng tôi chia sẻ dưới đây.

Earlyoom được tìm thấy trong kho của một số bản phân phối của Linux phổ biến, vì vậy, trong trường hợp của Debian, Ubuntu và bất kỳ dẫn xuất nào trong số này, quá trình cài đặt có thể được thực hiện bằng lệnh sau:

sudo apt install earlyoom

Khi điều này được thực hiện, dịch vụ bây giờ phải được kích hoạt bằng lệnh:

sudo systemctl enable earlyoom

Và nó bắt đầu với:

sudo systemctl start earlyoom

Trong trường hợp Fedora và RHEL 8 với EPEL, nó có thể được cài đặt bằng lệnh sau:

sudo dnf install earlyoom

Và dịch vụ được kích hoạt với:

sudo systemctl enable --now earlyoom

Cuối cùng, trong trường hợp của Arch Linux hoặc bất kỳ dẫn xuất nào khác của điều này, quá trình cài đặt được thực hiện bằng lệnh sau:

sudo pacman -S earlyoom

Và dịch vụ được kích hoạt với:

sudo systemctl enable --now earlyoom

Đối với tất cả các bản phân phối Linux khác, họ có thể thực hiện cài đặt bằng cách biên dịch mã tiện ích.

Để lấy mã, chúng ta có thể thực hiện bằng lệnh sau:

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

cd earlyoom

Chúng tôi tiến hành biên dịch với:

make

Và chúng tôi cài đặt (nếu bạn có Systemd):

sudo make install

Hoặc đối với những người không có Systemd:

sudo make install-initscript

Và để sử dụng dịch vụ, bạn làm điều đó với:

./earlyoom


5 bình luận, để lại của bạn

Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   infogon dijo

    Một chi tiết của tiêu đề: «mất trí nhớ»

    1.    David naranjo dijo

      Cảm ơn vì đã quan sát. Chúc mừng! 🙂

  2.   linuxmanr4 dijo

    Tôi nghĩ rằng có một chi tiết với cài đặt trong Manjaro (bắt nguồn từ Arch). Tôi không tìm thấy gói trong kho thông thường.

    Vì vậy, việc cài đặt phải thông qua yaourt.

    yaourt earlyoom

    ¡Saludos!

    1.    David naranjo dijo

      Trong Arch, nó nằm trong kho lưu trữ cộng đồng phải được kích hoạt trong pacman.conf. Theo cách tương tự như bạn đề cập, nó cũng ở AUR.

      Cảm ơn vì đã quan sát 😀

  3.   Fran Pavon dijo

    Xin chào, tôi muốn dịch vụ này khởi động trong MXLinux mỗi khi tôi bật máy tính mà không cần phải đặt lệnh vào terminal, tôi có thể thực hiện như thế nào?