Tất cả các bản phân phối GNU / Linux mà tôi đã thử nghiệm cho đến nay có một vấn đề là bất cứ khi nào ram được lấp đầy và hệ thống bắt đầu hoán đổi, toàn bộ giao diện người dùng máy tính để bàn và đồ họa trở nên không phản hồi đến mức đôi khi tôi phải chờ khoảng 5-10 giây sau đã di chuyển chuột vật lý cho đến khi con trỏ chuột thực sự di chuyển.
Đây là một loại hành vi gây phiền nhiễu, đặc biệt là trên các hệ thống có ram thấp.
Có cách nào để cung cấp một số ứng dụng / công việc, như môi trường máy tính để bàn, v.v., ưu tiên cao hơn trong ram so với các ứng dụng khác, để ứng dụng thực sự ăn cắp tất cả bộ nhớ bị tráo đổi trước môi trường máy tính để bàn, v.v.?
EDIT: Tôi đang nói về trường hợp khi toàn bộ RAM được sử dụng để nó luôn bắt đầu hoán đổi nếu nó không bị vô hiệu hóa (tôi không muốn các quá trình bị giết ngẫu nhiên). Tôi gặp vấn đề này không chỉ trong môi trường ram thấp, mà còn với 8GiB ram trên máy tính để bàn của tôi, một phần do nhiều máy ảo một phần do rò rỉ bộ nhớ. ZRAM không phải là một giải pháp vì nó chỉ trì hoãn vấn đề. Giải pháp duy nhất tôi có thể nghĩ đến cho vấn đề này là một số tiện ích không gian người dùng hoặc API kernel cho phép ngăn chặn một số công việc nhất định bị tráo đổi hoặc ít nhất là làm cho nó rất khó xảy ra. Có ai biết giải pháp khác hoặc biết bất cứ điều gì về một công cụ hoặc API như vậy đang tồn tại hoặc đang được lên kế hoạch không?
EDIT thứ 2: ulatencyd dường như không hoạt động với các phiên bản mới hơn của systemd, theo https://aur.archlinux.org/packages/ulatencyd-git/ và https://wiki.archlinux.org/index.php/Ulatencyd . Điều này có thể là do systemd chiếm toàn quyền kiểm soát các nhóm từ góc độ không gian người dùng nếu tôi hiểu chính xác.
cgroup_enable=memory swapaccount=1
trên dòng lệnh kernel; lưu ý rằng điều này có chi phí hiệu năng nhỏ). Ví dụ thực hiện: ulatencyd .