วิธีเร่งความเร็วการบู๊ตที่ช้าบน Ubuntu 16.04 เป็นอย่างไร?


39

ฉันพยายามที่จะเข้าใจสิ่งที่ฉันต้องทำเพื่อเร่งความเร็วการบูตด้วย Ubuntu 16.04 ฉันได้ทำงาน dmesg และบันทึกเอาท์พุทที่นี่ ทุกอย่างดูเหมือนจะผิดพลาดหลังจากนั้นประมาณ 10 วินาที


หากคุณดูที่ dmesg ของคุณคุณอาจพบรายการเช่น 'ตัวเลือกการติดตั้งใหม่ไม่ตรงกับ superblock ที่มีอยู่' ถ้าเป็นเช่นนั้น Google สำหรับสตริงนั้นและมันจะนำคุณไปสู่ข้อผิดพลาดของ Linux ซึ่งไม่เคยได้รับการแก้ไข
NickT

ฉันไม่คิดว่าฉันเห็นข้อผิดพลาดหรือสิ่งที่คล้ายกัน
Packwood

ทำไมคุณรู้สึกว่าสิ่งต่าง ๆ เลวร้ายในเวลา 10 วินาที ข้อความใดที่คุณคิดว่าเป็นกังวลเป็นพิเศษ?
Ciro Santilli 事件改造中心法轮功六四事件

คำตอบ:


44

คุณสามารถลองค้นหาสิ่งที่ใช้เวลามากที่สุดกับ systemd

systemd-analyze blame

31
ใช่แล้วจะเป็นอย่างไร ฉันจะต้องหยุดบริการบางอย่างจากการทำงาน?
mohammed amine bourkadi

29

การแก้ไข / etc / fstab ของUUIDของพื้นที่สว็อป (เพื่อให้ตรงกับเอาท์พุตของsudo blkid) นั้นทำงานได้อย่างมีเสน่ห์!

หมายเหตุ : หลังจากนั้นหากมีรายการการแลกเปลี่ยนใด ๆ ใน/etc/crypttabไฟล์คุณควรเปลี่ยนพารามิเตอร์ตัวที่สองเพื่อให้ตรงกับพื้นที่สว็อปของคุณไม่ว่าจะด้วย UUID หรือพา ธ (เช่น UUID = บางสิ่งหรือ / เส้นทาง / เป็น / swap)

บน SSD การบู๊ตเริ่มจาก 2 นาทีถึงน้อยกว่า 10 วินาที

สิ่งคือฉันเพิ่งอัพเกรดปกติจาก 14.04 เป็น 16.04 ไม่ยุ่งกับพาร์ทิชันเมื่อปัญหานี้เริ่ม เห็นได้ชัดว่ามีปัญหาบางอย่างเกี่ยวกับขั้นตอนการอัพเกรด


ขอบคุณที่ช่วยฉันมาก: เพื่อการทดสอบฉันใส่ swap ลงในแคดดี้ที่ถอดออกได้ไม่มีปัญหาในการบู๊ตเมื่อดิสก์ไม่อยู่ที่ 14.04 ในการบูต 16.04 ใช้เวลา 1 หรือ 2 นาที ดูเหมือนว่าเคอร์เนล 3 นั้นเร็วกว่าเคอร์เนล 4 เมื่อไม่พบการสลับ
Emmanuel

ขอบคุณ คุณประหยัดเวลาได้มาก ฉันอัพเกรดระบบจาก 14.04 ด้วยดังนั้นปัญหานี้จึงเกิดขึ้น
PaladiN

ขอบคุณฉันมีปัญหาเดียวกันกับ UUID swap ที่ไม่ถูกต้องเมื่อฉันเปลี่ยนให้ตรงกับ blkid ใช้เวลาเริ่มต้นนานประมาณ 60 วินาทีถึง 5 วินาที
Brandon Søren Culley

2
ดูในaskubuntu.com/questions/38533/…คำตอบสำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำ มันลดเวลาบูตของฉันจาก 100+ วินาทีเป็น 15
Dmitry

ใช่อัปเกรดเป็น 17.10 แต่การแลกเปลี่ยนของฉัน uuid ตรงกับผลลัพธ์จาก "blkid"
Vasil Valchev

10

ฉันพบปัญหาคล้ายกันกับเวลาบูตนานกว่าหลังจากอัพเกรด

ปัญหาคืออะไร? ฉันลบพื้นที่สว็อปของฉันดังนั้นไฟล์ / etc / fstab ของฉันและระบบไฟล์ใหม่จึงมีข้อขัดแย้ง ตัวโหลดการบูตรอเกือบ 1 ล้าน 30 วินาทีเพื่อค้นหา

ฉันจะแก้ไขปัญหาได้อย่างไร เรียกใช้ sudo blkid

เปิดไฟล์ / etc / fstab ของคุณและเปรียบเทียบการจับคู่ของ uuid กับพาร์ติชันที่คุณมี หากมีการเปลี่ยนแปลงไม่ตรงกันนั้นและรีบูต


dmesgการส่งออกในการแสดงคำถามที่ OP มีปัญหาที่แตกต่างกัน
ผู้บัญชาการ Byte

9

มันเป็นวิธีแก้ปัญหา แต่วิธีนี้ลดเวลาการบูทของฉันลงอย่างมาก (จาก 1 นาที 24s เป็น 16 วินาที)

sudo vim /etc/systemd/system.conf

ไม่ใส่หมายเหตุพารามิเตอร์ทั้งสองนี้และตั้งค่าการหมดเวลาที่ต้องการ:

DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s

หมายเหตุ: โปรดปรับค่าเหล่านี้ให้เหมาะสมกับความต้องการฮาร์ดแวร์ของคุณ ~ 5 - 60s

ตามที่กล่าวไว้ที่นี่พารามิเตอร์เหล่านี้ปรับเปลี่ยนกำหนดเวลาเริ่มต้นสำหรับการเริ่มต้นและการหยุดของหน่วยงานเช่นเดียวกับเวลาเริ่มต้นที่จะนอนหลับระหว่างการรีสตาร์ทอัตโนมัติของหน่วยตามที่กำหนดค่าต่อหน่วยในTimeoutStartSec=, TimeoutStopSec=และRestartSec=(สำหรับการให้บริการดู systemd.service (5) สำหรับ รายละเอียดเกี่ยวกับการตั้งค่าต่อหน่วย)

สำหรับหน่วยบริการที่ไม่ใช่ชุดเริ่มต้นDefaultTimeoutStartSec= และเริ่มต้นถึง 90s ค่าเริ่มต้นถึง 100msTimeoutSec= valueDefaultTimeoutStartSec=DefaultTimeoutStopSec=DefaultRestartSec=


แก้ไข - รายละเอียดเพิ่มเติม:

ฉันวิเคราะห์ลำดับการบู๊ตด้วยsystemd-analyze plot > sequence.svgที่แสดงว่าบริการไม่สามารถเริ่มระบบปฏิบัติการที่อัปเกรดแล้วได้ มี 3-1 เป็นผิดพลาดsendmailภูตแล้วpowerd.service & NetworkManager-รอ online.service เนื่องจากมันไม่ใช่ความคิดที่ดีที่จะปิดใช้งานบริการ NetworkManager ทั้งหมดฉันเพียงแค่ปล่อยให้มันหมดเวลาหลังจาก 10 วินาทีและใช้กฎนี้ไปทั่วโลก


2
คุณสามารถขยายวิธีแก้ปัญหานี้ให้ลดเวลาบู๊ตได้ 68 วินาทีหรือไม่?
Elder Geek

ไม่มีปัญหาเพลิดเพลินไปกับ!
Mirek

มันไม่ทำงานสำหรับฉันหลังจากใช้การเปลี่ยนแปลงเวลาบูตของฉันไปจาก 52 ถึง 57 วินาที
Woeitg

1
10s ต่ำเกินไป มันสามารถทำให้บูตเข้าสู่โหมดการกู้คืน ฉันใช้ 30s
Anwar

ยุค 10 เริ่มต้นการบูทของฉันใน 18.04 ตอนนี้กำลังซ่อม Ubuntu ในโหมดการกู้คืน
Pasupathi

1

สิ่งนี้อาจเกี่ยวข้องกับปัญหาของระบบไฟล์ คุณอาจต้องการตรวจสอบลิงค์นี้เพื่อดูว่าการซ่อมแซมระบบไฟล์ของคุณปรับปรุงเวลาบูต: https://help.ubuntu.com/community/FilesystemTroubleshooting


อืมมม ตอนนี้ดูเหมือนจะ [อีกต่อไป!] ( pastebin.com/a5g4wHvA ) ดูเหมือนว่าจะผิดหลังจากผ่านไปประมาณ 30 วินาที "eth0: link ไม่พร้อม" "nf_conntrack: การกำหนดผู้ช่วยอัตโนมัติเลิกใช้แล้วและจะถูกลบในไม่ช้าใช้เป้าหมาย CT ของ iptables เพื่อแนบผู้ช่วยแทน"
Packwood

0

ฉันมีปัญหาที่คล้ายกันฉันเพิ่งแก้ไข: ฉันใช้ Ubuntu 16.04 บน SSD ฉันใช้แฟลชไดรฟ์เป็นพาร์ทิชันสลับ ไดรฟ์ถูกเคลื่อนย้ายโดยไม่ตั้งใจเล็กน้อยและใช้เวลาบูตนานกว่า 3 นาที ฉันใส่มันกลับอย่างถูกต้องและตอนนี้ทุกอย่างเรียบร้อยดี ในกรณีที่คุณลอง smartctl หรือ fsck และระบบไฟล์ของคุณก็โอเคลองถอดแฟลชไดรฟ์ (หรืออุปกรณ์ต่อพ่วงอื่น ๆ ) และดูว่ามันทำงานอย่างไร โชคดี!


0

จากการส่งออกของ pastebin ของคุณมีสองอย่างที่ฉัน:

EXT4-fs (sda5): re-mounted

คุณอาจต้องการfsckไดรฟ์ข้อมูลนี้และดูข้อมูลสมาร์ทสำหรับไดรฟ์นั้น

และ

[   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

คุณอาจลองปิดการใช้งาน IPV6ในการเชื่อมต่อเครือข่ายของคุณหากการเชื่อมต่อของคุณไม่รองรับ


0

คำแนะนำของ user536489 ต่อไปนี้:

ระบบตำหนิการวิเคราะห์

ตรวจสอบว่ามีบริการที่ใช้เวลานานในการเริ่มต้นและตั้งค่าการหมดเวลาที่ต่ำกว่า:

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

เปลี่ยนเพื่อสิ่งที่ต้องการTimeoutStartSec 10sสถานะman pageใช้ค่าหน่วยน้อยในหน่วยวินาทีหรือค่าการขยายเวลาเช่น "5 นาที 20 วินาที" ผ่าน "อนันต์" เพื่อปิดใช้งานตรรกะการหมดเวลา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.