Ngày càng có nhiều hệ điều hành trở nên cồng kềnh với rất nhiều dịch vụ chạy ngầm. Mặc dù chúng có thể không sử dụng nhiều thời gian CPU nhưng chúng lại làm tăng thời gian khởi động và mức sử dụng RAM. May mắn thay, hệ điều hành nguồn mở mang đến cho bạn sức mạnh và sự tự do để làm những gì bạn thấy phù hợp. Điều này có nghĩa là bạn có thể vô hiệu hóa hoặc xóa bất cứ thứ gì bạn không cần. Ở đây chúng tôi chỉ cho bạn cách tắt các dịch vụ không cần thiết để cải thiện thời gian khởi động Linux của bạn.
Lưu ý :Chúng tôi chỉ cho bạn cách tắt dịch vụ thay vì xóa chúng. Việc vô hiệu hóa các dịch vụ có ít nguy cơ phá vỡ mọi thứ vĩnh viễn hơn. Và bạn có thể quay lại như trước bằng cách kích hoạt lại một dịch vụ nếu bạn nhận thấy điều gì đó hữu ích đã ngừng hoạt động.
Mục lục
Phân tích thời gian tải mỗi dịch vụ
Hầu hết các hệ điều hành dựa trên Linux đều sử dụng Systemd theo mặc định. Trong số bộ tiện ích mà nó bao gồm, có một chương trình cho phép bạn phân tích tốc độ khởi động của hệ thống. Cụ thể, nó hiển thị cho bạn tổng thời gian cần thiết để khởi động và thời gian tải mỗi dịch vụ. Lưu ý rằng một số dịch vụ tải song song. Vì vậy, nếu một cái cần hai giây để tải và ba giây còn lại, điều đó không nhất thiết có nghĩa là tổng cộng cần có năm giây. Có thể ít hơn thế nhiều.
Mở trình mô phỏng thiết bị đầu cuối và nhập lệnh này:
systemd-analyze
Điều này cho thấy phải mất bao lâu để nhân Linux và các dịch vụ hệ thống cốt lõi khởi chạy. Nó không tính đến thời gian cần thiết để hoạt ảnh trên màn hình hoặc ứng dụng của người dùng tải xong.
Tuy nhiên, bạn có thể xem thời gian mà giao diện đồ họa yêu cầu để khởi tạo bằng lệnh này:
systemd-analyze critical-chain graphical.target
Điều này cho thấy chuỗi dịch vụ dẫn đến mục tiêu đồ họa đang đạt được. Mặc dù hữu ích nhưng điều này thể hiện một cột mốc kỹ thuật chứ không phải là thời điểm máy tính để bàn hoàn toàn không hoạt động vì một số thành phần nền có thể tiếp tục tải sau đó.
Lưu ý :Các chương trình khởi động tự động trong môi trường máy tính để bàn thường được quản lý thông qua cài đặt tự khởi động dành riêng cho máy tính để bàn hoặc dịch vụ người dùng systemd.
Cuối cùng, có lẽ lệnh hữu ích nhất cho mục đích của hướng dẫn này là:
systemd-analyze blame
Bạn có thể điều hướng danh sách bằng các phím mũi tên hoặc TRANG LÊN và TRANG XUỐNG. Nhấn q để thoát.
Sử dụng Systemctl để vô hiệu hóa các dịch vụ không cần thiết
Như bạn có thể thấy trong hình trước, một số dịch vụ như snapd mất vài giây để tải. Trên SSD, điều này là không đáng kể. Nhưng trên ổ cứng truyền thống, những khoảng thời gian này sẽ kéo dài trong nhiều giây và cuối cùng chúng sẽ cộng lại thành rất nhiều giây.
Giả sử bạn không cần dịch vụ snapd, dịch vụ này cung cấp quyền truy cập vào các snaps ứng dụng được đóng gói. Bạn có thể tắt nó bằng lệnh này:
sudo systemctl disable snapd.service Sau khi khởi động lại, bạn vẫn có thể thấy snapd start trong một số điều kiện nhất định. Điều này xảy ra vì snapd sử dụng kích hoạt ổ cắm, cho phép nó khởi động theo yêu cầu ngay cả khi dịch vụ bị tắt.
Bạn có thể xác định các đơn vị liên quan bằng:
systemd-analyze blame | grep snap
Điều này giúp bạn xác định đơn vị nào liên quan đến Snap đang đóng góp cho hoạt động khởi động.
Xử lý các dịch vụ được kích hoạt bằng socket
Một số dịch vụ, bao gồm snapd, sử dụng kích hoạt ổ cắm. Điều này có nghĩa là dịch vụ vẫn có thể khởi động khi có thứ gì đó cố gắng liên lạc với dịch vụ đó, ngay cả khi dịch vụ đó bị tắt.
Nếu snapd tiếp tục xuất hiện sau khi khởi động lại, các đơn vị liên quan như snapd.socket hoặc snapd.seeded.service có thể phải chịu trách nhiệm. Trong những trường hợp như thế này, việc che giấu dịch vụ và ổ cắm của nó sẽ hiệu quả hơn:
sudo systemctl mask snapd.service
sudo systemctl mask snapd.socket Việc che dấu sẽ chặn hoàn toàn dịch vụ nên các phần phụ thuộc hoặc ổ cắm không thể khởi động dịch vụ đó. Tuy nhiên, hãy sử dụng phương pháp này một cách cẩn thận, đặc biệt là trên các bản phân phối dựa vào gói Snap để cập nhật hệ thống hoặc ứng dụng.
Ngoài ra, hãy cẩn thận để không nhầm lẫn giữa “vô hiệu hóa” với “che đậy” trong ngữ cảnh này. Việc vô hiệu hóa một dịch vụ sẽ yêu cầu systemd không tự động khởi động dịch vụ đó. Việc tạo mặt nạ tiến xa hơn bằng cách ngăn chặn dịch vụ bắt đầu. Trong hầu hết các tình huống, việc vô hiệu hóa là đủ. Tính năng tạo mặt nạ rất hữu ích cho các dịch vụ liên tục khởi động lại hoặc rõ ràng là không cần thiết trên hệ thống của bạn.
Hơn nữa, tùy thuộc vào thiết lập của bạn, bạn có thể tìm thấy các dịch vụ bổ sung mà bạn có thể tắt một cách an toàn, chẳng hạn như:
avahi-daemon.service
ModemManager.service
thermald.service Tuy nhiên, hãy đảm bảo bạn luôn nghiên cứu dịch vụ trước khi tắt dịch vụ đó. Những gì không cần thiết trên hệ thống máy tính để bàn có thể lại cần thiết trên máy tính xách tay hoặc máy chủ.
Suy nghĩ cuối cùng
Vô hiệu hóa các dịch vụ không cần thiết có thể giảm thời gian khởi động và giải phóng tài nguyên hệ thống, đặc biệt là trên các hệ thống sử dụng ổ cứng truyền thống. Ngay cả trên các hệ thống dựa trên SSD hiện đại, việc cắt bớt các dịch vụ không sử dụng sẽ giúp hệ thống của bạn luôn sạch sẽ và hiệu quả.
Ngoài ra, các công cụ đồ họa, như Stacer, tồn tại để quản lý dịch vụ, nhưng chúng thường cung cấp khả năng kiểm soát hạn chế hoặc chức năng lỗi thời. Để quản lý nhất quán và chính xác trên các bản phân phối, công cụ dòng lệnh systemctl vẫn là lựa chọn đáng tin cậy nhất.