Làm cách nào để tăng tốc khởi động rất chậm trên Ubuntu 16.04?


39

Tôi đang cố gắng hiểu những gì tôi cần làm để tăng tốc khởi động với Ubuntu 16.04. Tôi đã chạy dmesg và lưu kết quả đầu ra ở đây . Tất cả dường như đi sai sau khoảng 10 giây.


Nếu bạn nhìn vào dmesg của mình, bạn cũng có thể tìm thấy một mục, chẳng hạn như 'tùy chọn gắn kết mới không phù hợp với siêu khối hiện có'. Nếu vậy Google cho chuỗi đó và nó sẽ dẫn bạn đến một lỗi Linux chưa bao giờ được sửa
NickT

Tôi không nghĩ rằng tôi đang thấy lỗi đó hoặc tương tự.
Packwood

Tại sao bạn cảm thấy mọi thứ trở nên tồi tệ sau 10 giây? Bạn nghĩ tin nhắn nào đặc biệt đáng lo ngại?
Ciro Santilli 心 心 事件

Câu trả lời:


44

Bạn có thể thử tìm hiểu những gì đang mất nhiều thời gian nhất với systemd

systemd-analyze blame

31
Có vậy sau những gì? Tôi có phải dừng một số dịch vụ chạy không?
mohammed amine bourkadi

29

Chỉnh sửa / etc / fstab's UUID của không gian hoán đổi (để phù hợp với đầu ra của sudo blkid) hoạt động như một cơ duyên!

Lưu ý : Sau đó, nếu có bất kỳ mục trao đổi nào trong /etc/crypttabtệp, bạn nên thay đổi tham số thứ hai của nó để khớp với không gian hoán đổi của bạn, bằng UUID hoặc đường dẫn (ví dụ: UUID = cái gì đó hoặc / path / to / exchange).

Trên ổ SSD của tôi, quá trình khởi động đã giảm từ 2 phút xuống còn dưới 10 giây.

Vấn đề là, tôi vừa thực hiện nâng cấp bình thường từ 14.04 đến 16.04, không gây rối với các phân vùng, khi vấn đề này bắt đầu. Rõ ràng có một số vấn đề với thủ tục nâng cấp.


Cảm ơn điều đó đã giúp tôi rất nhiều: vì mục đích thử nghiệm, tôi đã đặt một trao đổi trên một caddy có thể tháo rời, không có vấn đề khởi động khi đĩa không có ở đó vào ngày 14.04, ngày 16.04 khởi động mất thêm 1 hoặc 2 phút. Có vẻ như kernel 3 đã nhanh hơn kernel 4 khi không tìm thấy trao đổi.
Emmanuel

Cảm ơn. bạn đã tiết kiệm rất nhiều thời gian của tôi. Tôi cũng đã nâng cấp hệ thống từ ngày 14.04 nên vấn đề này xảy ra.
PaladiN

Cảm ơn, tôi gặp vấn đề tương tự với UUID hoán đổi không chính xác, một khi tôi thay đổi nó để phù hợp với blkid, phải mất một thời gian khởi động dài khoảng 60 giây đến chỉ 5 giây
Brandon Søren Culley

2
Hãy xem trong Askubfox.com/questions/38533/ Câu trả lời để biết thêm thông tin về cách thực hiện. Nó giảm thời gian khởi động của tôi từ hơn 100 giây xuống còn 15.
Dmitry

vâng, nâng cấp lên 17.10 nhưng uuid hoán đổi của tôi phù hợp với kết quả từ "blkid"
Vasil Valchev

10

Tôi gặp vấn đề tương tự về thời gian khởi động lâu hơn sau khi nâng cấp.

Có vấn đề gì thế? Tôi đã xóa không gian hoán đổi của mình, vì vậy tệp / etc / fstab và hệ thống tệp mới của tôi có xung đột. Bộ tải khởi động đã đợi gần 1m 30s để tìm thấy nó.

Làm thế nào tôi giải quyết vấn đề Chạy sudo blkid

Mở tệp / etc / fstab của bạn và so sánh trận đấu của uuid với các phân vùng bạn có. Nếu có sự không phù hợp thay đổi đó và khởi động lại.


Đầu dmesgra trong câu hỏi cho thấy OP có một vấn đề khác.
Chỉ huy Byte

9

Đó là một giải pháp khắc phục nhưng điều này giúp giảm đáng kể thời gian khởi động của tôi (từ 1 phút 24 giây xuống 16 giây).

sudo vim /etc/systemd/system.conf

Bỏ ghi chú hai tham số này và đặt thời gian chờ mong muốn:

DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s

Lưu ý: Vui lòng tối ưu hóa các giá trị này để phù hợp với nhu cầu phần cứng của bạn ~ 5 - 60 giây.

Như đã thảo luận ở đây các thông số cấu hình timeout mặc định để khởi động và dừng các đơn vị, cũng như thời gian mặc định để ngủ giữa khởi động lại tự động của đơn vị, như cấu hình cho mỗi đơn vị trong TimeoutStartSec=, TimeoutStopSec=RestartSec=(cho các dịch vụ, xem systemd.service (5) cho chi tiết về cài đặt trên mỗi đơn vị).

Đối với các đơn vị phi dịch vụ, DefaultTimeoutStartSec=đặt mặc định TimeoutSec= value. DefaultTimeoutStartSec=DefaultTimeoutStopSec=mặc định là 90s. DefaultRestartSec=mặc định là 100ms.


Chỉnh sửa - Chi tiết hơn:

Tôi đã phân tích trình tự khởi động với systemd-analyze plot > sequence.svgđiều đó cho thấy các dịch vụ không khởi động được trên hệ điều hành mới được nâng cấp của tôi. Có ba - một là một daemon sendmail được định cấu hình sai sau đó powerd.service & NetworkManager-Wait-online.service . Vì việc tắt hoàn toàn dịch vụ NetworkManager không phải là ý tưởng hay, tôi chỉ để nó hết thời gian sau 10 giây và áp dụng quy tắc này trên toàn cầu.


2
Bạn có thể mở rộng về cách giải pháp này giảm thời gian khởi động của bạn xuống 68 giây không?
Anh Cả Geek

Không có probs, thưởng thức!
Mirek

nó không hoạt động với tôi vì sau khi áp dụng các thay đổi, thời gian khởi động của tôi tăng từ 52 xuống còn 57 giây.
Woeitg

1
10s là quá thấp. Nó có thể làm cho khởi động vào chế độ phục hồi. Tôi đang sử dụng 30s
Anwar

10s đã phá vỡ khả năng khởi động của tôi vào ngày 18.04. Bây giờ sửa chữa Ubuntu trong chế độ phục hồi.
Pasupathi

1

Điều này có thể liên quan đến các vấn đề hệ thống tập tin. Bạn có thể muốn kiểm tra liên kết này để xem việc sửa chữa hệ thống tệp của bạn có cải thiện thời gian khởi động hay không: https ://help.ub Ubuntu.com/community/FilesystemTroubledh Boot


Hừm. bây giờ dường như là [lâu hơn!] ( pastebin.com/a5g4wHvA ) Có vẻ như nó bị lỗi sau khoảng 30 giây. "eth0: liên kết là chưa sẵn sàng" "nf_conntrack: phân helper tự động bị phản đối và nó sẽ được gỡ bỏ ngay Sử dụng Iptables CT mục tiêu để đính kèm giúp việc thay thế".
Packwood

0

Tôi gặp một vấn đề tương tự tôi vừa giải quyết: Tôi chạy Ubuntu 16.04 trên ổ SSD. Tôi sử dụng một ổ đĩa flash làm phân vùng trao đổi. Ổ đĩa đã bị tai nạn được di chuyển một chút và phải mất hơn 3 phút để khởi động. Tôi đặt nó trở lại chính xác và bây giờ mọi thứ đều ổn. Trong trường hợp bạn đã thử smartctl hoặc fsck và hệ thống tập tin của bạn vẫn ổn, hãy thử xóa ổ đĩa flash (hoặc các thiết bị ngoại vi khác?) Và xem nó hoạt động như thế nào. Chúc may mắn!


0

Dựa trên sản lượng pastebin của bạn, một vài thứ nhảy ra với tôi:

EXT4-fs (sda5): re-mounted

Bạn có thể muốn fsck âm lượng này và xem Dữ liệu thông minh cho ổ đĩa đó.

[   31.022220] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.720952] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.761548] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready

Bạn có thể thử tắt IPV6 trên các kết nối mạng của mình nếu kết nối của bạn không hỗ trợ.


0

Theo gợi ý của người dùng536361:

phân tích hệ thống đổ lỗi

Kiểm tra xem có dịch vụ nào mất nhiều thời gian để bắt đầu không và đặt thời gian chờ thấp hơn:

sudo vim /lib/systemd/system/networking.service

Thay đổi TimeoutStartSecthành một cái gì đó như 10s. Các trang người đàn ông bang Mất một giá trị đơn vị thấp trong vài giây, hoặc một giá trị khoảng thời gian như "20s 5min". Vượt qua "vô cực" để vô hiệu hóa logic thời gian chờ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.