kdcs391
Junior Moderator
Ubuntu có cơ chế tự tắt các ứng dụng nặng đô (đôi khi nhẹ kí) khi quá tải hoặc sắp quá tải bộ nhớ (RAM), gọi đơn giản là tiến trình OOMD làm ảnh hưởng khá nhiều đến trải nghiệm người dùng. Thử tưởng tượng bạn đang chạy gì đó, làm gì đó chưa kịp lưu thì nó tắt cái vụt - tắt không thông báo hay gọi í ới gì đâu .
Từ phiên bản 22.04 trở về sau, tiến trình này được chạy tự động. Cho tới khi các kỹ sư của Canonical lấy đủ số lượng ý kiến từ người dùng để cải thiện OOMD thì dưới đây là cách khắc phục.
Có 2 cách làm, bạn chọn cách nào phù hợp với bản thân là được, nhưng trước hết sẽ là tăng giới hạn phân vùng swap lên khỏi mức mặc định (trong linux phân vùng swap được biết đến với tên gọi khác là RAM ảo dùng để hỗ trợ lưu trữ dữ liệu khi bộ nhớ RAM vật lý đầy).
Cách tăng giới hạn phân vùng swap:
- Mở Terminal (tổ hợp phím Ctrl Alt T), gõ các lệnh bên dưới, mỗi dòng xong nhớ enter, dòng đầu sẽ hỏi mật khẩu do chạy quyền sudo, bạn nhập và enter là được.
Tạm thời tắt swap: sudo swapoff -a
Xóa swap cũ: sudo rm -i /swapfile
Tạo swap mới: sudo dd if=/dev/zero of=/swapfile bs=1M count=8192 (8192 tương đương 8GB, nếu không thích bạn có thể dùng 4096)
Cấp quyền phù hợp: sudo chmod 0600 /swapfile
Vận hành swap mới: sudo mkswap /swapfile
Bật lại swap: sudo swapon /swapfile
Hoặc nếu lười gõ dài nhập nhằng, thì gõ một lệnh tổng hợp: sudo swapoff -a && sudo rm -i /swapfile && sudo dd if=/dev/zero of=/swapfile bs=1M count=8192 && sudo chmod 0600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
- Sau khi chạy xong các lệnh, tiến hành khởi động lại hệ thống, sau đó mở Terminal lại và nhập lệnh free -h để kiểm tra thông số RAM, như hình là đã tăng lên 8GB
Cách 1: dành cho người không chuyên, không giám sát và kiểm soát được các ứng dụng, kiểu dùng phổ thông ấy -
- Mở Terminal (tổ hợp phím Ctrl Alt T), gõ lệnh sudo systemctl disable --now systemd-oomd và enter, lệnh này để tắt tiến trình OOMD ngay lập tức.
- Tiếp theo gõ lệnh sudo systemctl is-enabled systemd-oomd và enter, lệnh này để kiểm tra xem tiến trình đã tắt hay chưa, nếu bạn thấy disabled là thành công.
- Sau đó gõ lệnh sudo systemctl mask systemd-oomd và enter, lệnh này để đánh dấu trạng thái hiện tại của OOMD (đang tắt) nên khi khởi động lại tiến trình sẽ không tự động bật lại.
- Khởi động lại hệ thống.
###
- Nếu có thay đổi ý định thì chạy lệnh sau để khôi phục lại như cũ sudo systemctl enable systemd-oomd && sudo systemctl unmask systemd-oomd và enter, khởi động lại hệ thống.
Cách 2: dành cho người có chuyên môn, giám sát và kiểm soát được mình đang làm gì -
- Mở Terminal (tổ hợp phím Ctrl Alt T), gõ lệnh sudo apt remove systemd-oomd -y và enter, lệnh này để xóa hoàn toàn tiến trình OOMD ra khỏi hệ thống.
- Sau khi xóa, đảm bảo bạn có thể theo dõi hệ thống và biết được nên tự tắt gì hoặc hệ thống đang như thế nào bằng bất cứ chương trình giám sát nào bạn hay dùng như Vitals hoặc chí ít là System Monitor (gnome-system-monitor).
###
- Nếu có thay đổi ý định thì chạy lệnh sau để khôi phục lại như cũ sudo apt install systemd-oomd -y && sudo apt update && sudo apt upgrade -y && sudo apt dist-upgrade -y và enter, khởi động lại hệ thống.
Chúc các bạn thành công !
Sửa lần cuối: