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

Linux chạy chậm? Cách tìm nguyên nhân

Không gì bực bội hơn cài Linux trên PC mà hệ thống vẫn chậm chạp. Sau khi đầu tiền build, mua hoặc nâng cấp máy, bạn mong nó mượt mà. Tuy nhiên, không phải lúc nào cũng vậy, và với Linux, bạn có thể điều tra khá nhiều để tìm ra vấn đề. Hôm nay, chúng tôi chỉ cách tìm nguyên nhân máy Linux chạy chậm.

Tại sao máy Linux chạy chậm?

Máy Linux có thể chậm do một trong các nguyên nhân sau:

  • Service không cần thiết khởi động cùng boot bởi systemd (hoặc init system bạn dùng)
  • Tài nguyên cao do nhiều ứng dụng nặng mở cùng lúc
  • Sự cố hoặc misconfiguration phần cứng

Trước khi biết cách tăng tốc Linux, cần biết phương pháp nào giúp tìm: service khởi động boot, process chạy priority cao/thấp, sức khỏe CPU, RAM có bị lấp đầy dữ liệu thừa không, swap memory có full không, ổ cứng có hoạt động tốt không.

Kiểm tra thông tin CPU

Muốn tăng tốc Linux chậm, bước đầu kiểm tra CPU. Nếu máy khó mở Firefox hay LibreOffice, có thể CPU không đủ mạnh cho app nặng.

Mở terminal chạy một trong hai lệnh:

cat /proc/cpuinfo
lscpu

Hai lệnh hiển thị chi tiết CPU: vendor_id, model name, CPU MHz, cache size, microcode, bogomips.

Xem một số chi tiết quan trọng:

  • bogomips: Bogus Millions of instructions per second. Chương trình độc lập hiển thị hiệu năng hệ thống.
  • model_name: hãng, model, tốc độ CPU. Ví dụ: Intel(R) Celeron(R) CPU 1.73GHz.
  • cpu MHz: MegaHertz đo tốc độ truyền kênh, bus, clock nội bộ. Ví dụ: 1733.329 GHz.

Rõ ràng vấn đề: Intel Celeron 1.73 GHz là CPU cũ, sức mạnh yếu. Single core, tốc độ thấp, trong khi CPU mới 16 cores gần 5 GHz.

Giải pháp

CPU cũ chậm → chỉ giải pháp là thay CPU mới. Xem hướng dẫn chọn CPU mới.

Kiểm tra service khởi động cùng boot

Có nhiều phương pháp kiểm tra service boot. Dùng một trong các lệnh sau.

Liệt kê service boot:

service --status-all

Liệt kê service boot (tương thích CentOS, AlmaLinux, Fedora, RHEL):

chkconfig --list

Cũng liệt kê service boot:

initctl list

initctl là daemon control tool cho sysadmin giao tiếp/tương tác với Upstart daemon.

Nếu hệ thống dùng systemd, dùng lệnh sau tìm service chạy lúc boot:

sudo systemctl list-unit-files --state=enabled

Giải pháp

Distro dùng systemd, dùng systemctl quản lý service để chúng không chạy lúc boot.

Kiểm tra tải CPU (CPU Load)

Ngoài service boot, kiểm tra CPU có bị quá tải process không. Dùng lệnh top hoặc công cụ giám sát hệ thống khác.

top sắp xếp process usage cao lên đầu. Rõ ràng process/app nào lạm dụng CPU, kill nếu cần bằng lệnh kill.

Giải pháp

Nếu chạy quá nhiều app (foreground và background) mà CPU yếu, tốt nhất đóng app không dùng. Cũng disable app background không dùng.

Thay thế: dùng preload load app thường dùng. Preload là daemon chạy background phân tích app thường chạy.

Mở terminal chạy:

# Ubuntu/Debian
sudo apt install preload
# Fedora
sudo dnf install preload

Preload chạy background, không cần config. Load phần app thường dùng vào memory để load nhanh hơn.

Kiểm tra không gian bộ nhớ trống

RAM lưu app thường dùng. Dùng lệnh free kiểm tra info bộ nhớ: free space RAM v.v. Thiếu RAM cũng làm chậm máy.

Giải pháp

Nâng cấp RAM hoặc thay app tốn RAM bằng nhẹ hơn. LibreOffice khá nặng RAM. Thay bằng Abiword.

Kiểm tra ổ cứng có overworking không

Đèn ổ cứng chớp liên tục mà bạn không biết nó đang làm gì? I/O bí ẩn có thể là vấn đề. Có tool kiểu top tên iotop chuyên chẩn đoán loại này.

Mở terminal chạy:

# Ubuntu/Debian
sudo apt install iotop
# Fedora/CentOS
sudo dnf install iotop

Hệ thống idle bình thường nên hầu như toàn 0, thỉnh thoáng burst nhỏ khi ghi dữ liệu.

Nếu chạy tiện ích disk-intensive như find, sẽ thấy tên và throughput rõ ràng trong iotop.

Bây giờ dễ dàng tìm ra program nào dùng I/O, ai chạy nó, tốc độ đọc dữ liệu, v.v.

Kết luận

Mặc dù nhiều thứ có thể gây chậm, CPU, RAM, disk I/O đứng sau đa số vấn đề hiệu năng. Các phương pháp ở đây giúp xác định nguyên nhân và cách khắc phục.

Tiếp theo: tăng tốc Ubuntu. Nếu gặp vấn đề Wi-Fi, xem hướng dẫn fix Wi-Fi không hoạt động trên Linux.