Nhân Linux không thể xử lý các tình huống hết bộ nhớ một cách khéo léo

Trên danh sách gửi thư của nhà phát triển nhân Linux nâng lên Vấn đề xử lý tình trạng thiếu bộ nhớ trong Linux:

Có một vấn đề đã biết đã gây khó khăn cho nhiều người trong nhiều năm và có thể xảy ra trong vòng chưa đầy vài phút trên nhân Linux 5.2.6 mới nhất. Tất cả các tham số kernel được đặt thành giá trị mặc định.

Các bước:

  • Khởi động với tham số “mem=4G”.
  • Tắt hỗ trợ trao đổi (sudo swapoff -a).
  • Chúng tôi khởi chạy bất kỳ trình duyệt web nào, ví dụ: Chrome/Chromium và/hoặc Firefox.
  • Chúng tôi bắt đầu mở các tab với các trang web và xem lượng bộ nhớ trống giảm đi như thế nào.

Ngay khi xảy ra tình huống tab mới yêu cầu nhiều RAM hơn mức có sẵn, hệ thống gần như đóng băng hoàn toàn. Bạn sẽ gặp khó khăn ngay cả khi di chuyển con trỏ chuột. Đèn báo ổ cứng nhấp nháy liên tục (không hiểu tại sao). Bạn sẽ không thể khởi chạy các ứng dụng mới hoặc đóng các ứng dụng hiện đang chạy.

Cuộc khủng hoảng nhỏ này có thể kéo dài vài phút hoặc lâu hơn. Tôi đoán hệ thống không nên hành xử theo cách này. Tôi nghĩ cần phải làm gì đó để tránh tình trạng “đóng băng” như vậy.

Tôi khá chắc chắn rằng có thể thay đổi một số tham số sysctl để tránh loại tình huống này, nhưng có điều gì đó cho tôi biết rằng đây có thể là cài đặt mặc định cho tất cả mọi người vì những người dùng không rành về kỹ thuật gặp phải vấn đề này sẽ đơn giản từ bỏ việc sử dụng Linux và sẽ không care... để tìm kiếm giải pháp trên Google.

В bình luận trên Reddit, một số người dùng đề xuất kích hoạt trao đổi, nhưng điều này không giải quyết được vấn đề, nó chỉ làm trì hoãn và thường làm cho vấn đề trở nên tồi tệ hơn. Là một giải pháp khả thi trong tương lai, những gì xuất hiện trong kernel có thể liên quan 4.20 và được cải thiện trong cốt lõi 5.2 Hệ thống con PSI (Thông tin về trạng thái dừng áp suất), cho phép bạn phân tích thông tin về thời gian chờ nhận các tài nguyên khác nhau (CPU, bộ nhớ, I/O). Hệ thống con này cho phép tổ chức giám sát tình trạng thiếu bộ nhớ ở giai đoạn đầu, xác định nguồn gốc của sự cố và chấm dứt các ứng dụng không quan trọng mà không gây ra hậu quả đáng chú ý cho người dùng.

Nguồn: opennet.ru

Thêm một lời nhận xét