Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cách khắc phục sử dụng CPU cao trong Linux

Máy tính của bạn có bị treo không? Hay bạn bắt đầu nghe tiếng quạt CPU rít lên từ máy? Có nhiều lý do dẫn đến sử dụng CPU cao trong Linux, nhưng nguyên nhân phổ biến nhất là một ứng dụng hoạt động bất thường. Đọc tiếp để biết cách khắc phục vấn đề CPU cao trong Linux.

Tìm ra thủ phạm

Một ứng dụng bị lỗi có thể khiến ngay cả bộ xử lý nhanh nhất cũng phải "quỳ gối". Bạn có thể dùng ứng dụng System Monitor hoặc lệnh top trong Terminal để tìm ứng dụng gây sự.

Mở terminal, gõ top và nhấn Enter.

Cách khắc phục sử dụng CPU cao trong Linux

Mặc định, tất cả tiến trình được sắp xếp theo mức sử dụng CPU, những tiến trình tốn nhiều CPU nhất nằm ở trên cùng. Nếu một ứng dụng luôn nằm trong top 5 với tỷ lệ sử dụng CPU cao đáng kể so với các tiến trình khác, bạn đã tìm thấy thủ phạm.

Đổi độ ưu tiên (renice) hoặc kill ứng dụng

Top hỗ trợ cả renice và kill, nên bạn có thể dùng chúng để thay đổi độ ưu tiên của tiến trình bất kỳ hoặc buộc dừng nó.

Cách khắc phục sử dụng CPU cao trong Linux

Độ ưu tiên nice của ứng dụng đề cập đến lượng tài nguyên CPU được phép dùng so với các tiến trình khác đang chạy. Nice chấp nhận giá trị từ +19 đến -20. Số càng lớn, độ ưu tiên càng thấp.

Trong top, nhấn r và nhập PID của ứng dụng gây sự. Thử đổi thành "+5", nếu không giúp được thì thử "+10", "+15", và cuối cùng là độ ưu tiên thấp nhất "+19".

Cách khắc phục sử dụng CPU cao trong Linux

Nếu ứng dụng không phản hồi, bạn nên dừng nó ngay. Nhấn k trong top, nhập PID, nhấn Enter, và ứng dụng sẽ biến mất.

Cập nhật mọi thứ

Nếu vấn đề lặp lại mỗi khi chạy ứng dụng đó, cập nhật ứng dụng có thể khắc phục.

Trong terminal, nhập:

sudo apt update && sudo apt -y upgrade
Cách khắc phục sử dụng CPU cao trong Linux

Sau đó, thử chạy lại ứng dụng gây sự.

Gỡ và cài lại ứng dụng

Nếu vẫn không khắc phục, có khả năng nhỏ lỗi do tham số sai trong cấu hình chương trình. Khôi phục về trạng thái ban đầu có thể giúp.

Trước hết, sao lưu cấu hình phòng khi không phải là nguyên nhân và bạn muốn khôi phục sau. Sau đó, gỡ hoàn toàn (purge) ứng dụng gây sự:

sudo apt purge TÊN_ỨNG_DỤNG
Cách khắc phục sử dụng CPU cao trong Linux

Cài lại ứng dụng:

sudo apt update && sudo apt install TÊN_ỨNG_DỤNG
Cách khắc phục sử dụng CPU cao trong Linux

Thao tác này sẽ đưa ứng dụng về trạng thái ban đầu.

Quay lại phiên bản trước

Nếu nâng cấp không giải quyết được, bạn có thể hạ cấp về phiên bản trước. Thử dùng phiên bản cũ hơn, ít nhất cho đến khi nhà phát triển sửa lỗi.

Để hạ cấp, trước tiên kiểm tra các phiên bản khả dụng bằng lệnh:

sudo apt policy TÊN_ỨNG_DỤNG

Phiên bản đang cài sẽ có ba dấu sao bên cạnh. Ghi nhớ các phiên bản khác.

Trước khi hạ cấp, chúng tôi建议你 gỡ phiên bản hiện tại. Điều này sẽ loại bỏ các vấn đề liên quan đến cấu hình.

Cài phiên bản cũ hơn với:

sudo apt install TÊN_ỨNG_DỤNG=PHIÊN_BẢN
Cách khắc phục sử dụng CPU cao trong Linux

Dùng ứng dụng thay thế

Điều tốt về Linux là có nhiều ứng dụng làm cùng một việc. Vì vậy, nếu một ứng dụng gây CPU cao, bạn có thể và nên thay thế bằng ứng dụng khác.

Khắc phục cho ứng dụng cốt lõi gây CPU cao

Điều gì xảy ra nếu thứ ăn CPU là ứng dụng cốt lõi như systemd hay Xorg?

Đối với systemd, hãy thử tắt các tính năng không cần thiết và thiết bị phụ như tay cầm game, máy in.

Nếu thiết bị là tay cầm, chuột, hoặc bàn phím, và bạn dùng Ubuntu hoặc bản phân phối tương thích, gõ xinput trong terminal để xem tất cả thiết bị kết nối. Để tắt một thiết bị, dùng:

xinput --disable ID_THIẾT_BỊ
Cách khắc phục sử dụng CPU cao trong Linux

Để bật lại, thay disable bằng enable trong lệnh trên.

Đối với thiết bị khác, giải pháp phức tạp hơn. Trước tiên, gõ lsmod trong terminal và nhấn Enter để xem tất cả driver bổ sung mà kernel Linux nạp dưới dạng module. Tìm module cho thiết bị gây sự và ghi nhớ tên. Sau đó nhập:

sudo nano /etc/modprobe.d/blacklist.conf

Tệp bạn vừa mở là danh sách đen các module không được nạp khi khởi động. Nó có thể đã có sẵn một số mục. Di chuyển đến cuối tệp và làm theo cùng cú pháp để thêm module của bạn vào danh sách. Mục của bạn nên trông như:

blacklist TÊN_MODULE

Lưu tệp, khởi động lại, và hy vọng mọi thứ sẽ ổn.

Đối với Xorg, hãy thử tắt compositor của Window Manager. Mặc dù chính thức compositor chuyển tác vụ liên quan CPU sang GPU, nhưng không phải lúc nào cũng vậy. Đôi khi, bật hỗ trợ compositing cũng đồng nghĩa với việc bật nhiều hiệu ứng nặng.

Đôi khi driver GPU cũng gây CPU cao. Xorg không thực sự hợp với các phiên bản cụ thể của driver Nvidia hoặc AMD. Giải pháp là nâng cấp hoặc hạ cấp sang phiên bản khác. Thay vào đó, bạn có thể thử driver mã nguồn mở cho GPU. Tuy nhiên, chúng không chia sẻ chính xác tập tính năng và có thể thiếu một số chức năng.

Thay đổi Kernel

Hiếm khi kernel Linux là nguyên nhân CPU cao. Tuy nhiên, nếu bạn đã thử hết cách trên mà không giải quyết được, thử kernel khác cũng chẳng mất gì.

Theo trang chính thức, để cài kernel Liquorix phổ biến trên Ubuntu, mở terminal và gõ:

sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update
Cách khắc phục sử dụng CPU cao trong Linux

Điều này sẽ thêm kho Liquorix vào nguồn của Ubuntu. Sau đó, để cài kernel:

sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64

Khởi động lại để kích hoạt kernel mới, và hy vọng sử dụng CPU sẽ quay về mức bình thường.

Chúng tôi hy vọng một trong những giải pháp trên đã giúp được bạn. Nếu không, bạn cũng có thể thử gán thủ công nhân CPU cho ứng dụng với taskset. Cuối cùng, có lẽ đã đến lúc cài lại hệ điều hành từ đầu hoặc chuyển sang bản phân phối khác.