Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

เร่งความเร็วเวลาบูต Linux ด้วยการปิดบริการที่ไม่จำเป็น

ระบบปฏิบัติการจำนวนมากขึ้นเรื่อยๆ เต็มไปด้วยบริการมากมายที่ทำงานอยู่เบื้องหลัง แม้ว่าอาจใช้เวลา CPU ไม่มาก แต่ก็เพิ่มเวลาบูตและการใช้งาน RAM โชคดีที่ระบบปฏิบัติการโอเพ่นซอร์สให้อำนาจและอิสระแก่คุณในการทำตามที่เห็นสมควร ซึ่งหมายความว่าคุณสามารถปิดการใช้งานหรือลบสิ่งที่คุณไม่ต้องการได้ ที่นี่เราจะแสดงวิธีปิดการใช้งานบริการที่ไม่จำเป็นเพื่อปรับปรุงเวลาบูต Linux ของคุณ

หมายเหตุ :เราจะแสดงวิธีปิดการใช้งานบริการแทนที่จะลบออก การปิดใช้งานบริการมีความเสี่ยงน้อยกว่าที่จะทำลายสิ่งต่าง ๆ อย่างถาวร และคุณสามารถกลับไปเป็นเหมือนเดิมได้เพียงเปิดใช้บริการอีกครั้ง หากคุณสังเกตเห็นว่าบางสิ่งที่มีประโยชน์หยุดทำงาน

สารบัญ

วิเคราะห์เวลาที่ใช้ในการโหลดแต่ละบริการ

ระบบปฏิบัติการบน Linux ส่วนใหญ่ใช้ Systemd เป็นค่าเริ่มต้น ในบรรดาชุดยูทิลิตี้ที่มีให้ มีโปรแกรมที่ให้คุณวิเคราะห์ความเร็วของการบูทระบบของคุณ โดยเฉพาะจะแสดงเวลาทั้งหมดที่ต้องใช้ในการบูตและเวลาที่ใช้ในการโหลดแต่ละบริการ โปรดทราบว่าบริการบางอย่างโหลดพร้อมกัน ดังนั้น หากอันหนึ่งต้องใช้เวลาสองวินาทีในการโหลดและอีกสามวินาทีที่เหลือ ก็ไม่ได้หมายความว่าต้องใช้เวลาทั้งหมดห้าวินาทีเสมอไป อาจจะน้อยกว่านั้นมาก

เปิดโปรแกรมจำลองเทอร์มินัลแล้วป้อนคำสั่งนี้:

systemd-analyze
เร่งความเร็วเวลาบูต Linux ด้วยการปิดบริการที่ไม่จำเป็น

ข้อมูลนี้แสดงระยะเวลาที่ใช้ในการเริ่มต้นบริการเคอร์เนล Linux และบริการระบบหลัก ไม่ได้คำนึงถึงเวลาที่ต้องใช้สำหรับภาพเคลื่อนไหวบนเดสก์ท็อปหรือแอปพลิเคชันของผู้ใช้ในการโหลดให้เสร็จสิ้น

อย่างไรก็ตาม คุณสามารถดูเวลาที่อินเทอร์เฟซแบบกราฟิกต้องการเพื่อเริ่มต้นด้วยคำสั่งนี้:

systemd-analyze critical-chain graphical.target
เร่งความเร็วเวลาบูต Linux ด้วยการปิดบริการที่ไม่จำเป็น

นี่แสดงห่วงโซ่การบริการที่นำไปสู่เป้าหมายแบบกราฟิกที่กำลังเข้าถึง แม้ว่าสิ่งนี้จะมีประโยชน์ แต่สิ่งนี้แสดงถึงเหตุการณ์สำคัญทางเทคนิคมากกว่าช่วงเวลาที่เดสก์ท็อปไม่ได้ใช้งานโดยสมบูรณ์ เนื่องจากส่วนประกอบพื้นหลังบางส่วนอาจโหลดต่อในภายหลัง

หมายเหตุ :โดยทั่วไปโปรแกรมที่เริ่มทำงานโดยอัตโนมัติภายในสภาพแวดล้อมเดสก์ท็อปจะได้รับการจัดการผ่านการตั้งค่าการเริ่มอัตโนมัติเฉพาะเดสก์ท็อปหรือบริการผู้ใช้ของระบบ

สุดท้ายนี้ คำสั่งที่มีประโยชน์ที่สุดสำหรับจุดประสงค์ของบทช่วยสอนนี้คือ:

systemd-analyze blame
เร่งความเร็วเวลาบูต Linux ด้วยการปิดบริการที่ไม่จำเป็น

คุณสามารถนำทางรายการด้วยปุ่มลูกศรหรือ PAGE UP และ PAGE DOWN กด q เพื่อออก

ใช้ Systemctl เพื่อปิดใช้งานบริการที่ไม่จำเป็น

ดังที่คุณเห็นในภาพก่อนหน้า บริการบางอย่างเช่น 05 ใช้เวลาโหลดหลายวินาที บน SSD นี่เป็นเรื่องเล็กน้อย แต่สำหรับฮาร์ดดิสก์แบบเดิม เวลาประเภทนี้จะอยู่ในลำดับหลายวินาที และจะรวมกันเป็นจำนวนมากในตอนท้าย

สมมติว่าคุณไม่จำเป็นต้องใช้บริการ snapd ซึ่งให้การเข้าถึง snaps ของแอปพลิเคชันที่มีคอนเทนเนอร์ คุณสามารถปิดการใช้งานได้ด้วยคำสั่งนี้:

sudo systemctl disable snapd.service

หลังจากรีบูตเครื่อง คุณอาจยังคงเห็นการสตาร์ทแบบ snapd ภายใต้เงื่อนไขบางประการ สิ่งนี้เกิดขึ้นเนื่องจาก snapd ใช้การเปิดใช้งานซ็อกเก็ต ทำให้สามารถเริ่มต้นได้ตามความต้องการแม้ว่าจะปิดการใช้งานบริการก็ตาม

คุณสามารถระบุหน่วยที่เกี่ยวข้องได้ด้วย:

systemd-analyze blame | grep snap
เร่งความเร็วเวลาบูต Linux ด้วยการปิดบริการที่ไม่จำเป็น

สิ่งนี้ช่วยให้คุณระบุได้ว่าหน่วยที่เกี่ยวข้องกับ Snap ใดที่มีส่วนร่วมในกิจกรรมเริ่มต้น

การจัดการกับบริการที่เปิดใช้งานซ็อกเก็ต

บริการบางอย่าง รวมถึง snapd ใช้การเปิดใช้งานซ็อกเก็ต ซึ่งหมายความว่าบริการยังคงสามารถเริ่มต้นได้เมื่อมีบางสิ่งพยายามสื่อสารกับบริการ แม้ว่าจะถูกปิดใช้งานก็ตาม

หาก snapd ยังคงปรากฏหลังจากการรีบูต หน่วยที่เกี่ยวข้อง เช่น 14 หรือ 22 อาจจะต้องรับผิดชอบ ในกรณีเช่นนี้ การมาสก์บริการและซ็อกเก็ตจะมีประสิทธิภาพมากกว่า:

sudo systemctl mask snapd.service
sudo systemctl mask snapd.socket

การปิดบังจะบล็อกบริการทั้งหมด ดังนั้นการขึ้นต่อกันหรือซ็อกเก็ตจึงไม่สามารถเริ่มทำงานได้ อย่างไรก็ตาม ใช้แนวทางนี้อย่างระมัดระวัง โดยเฉพาะอย่างยิ่งในการแจกจ่ายที่ต้องอาศัยแพ็คเกจ Snap สำหรับการอัปเดตระบบหรือแอปพลิเคชัน

นอกจากนี้ โปรดระวังอย่าสับสนระหว่าง "ปิดใช้งาน" กับ "การมาสก์" ในบริบทนี้ การปิดใช้งานบริการจะบอก systemd ว่าอย่าเริ่มบริการโดยอัตโนมัติ การมาสก์ดำเนินต่อไปอีกขั้นด้วยการป้องกันไม่ให้บริการเริ่มต้นเลย ในสถานการณ์ส่วนใหญ่ การปิดใช้งานก็เพียงพอแล้ว การมาสก์มีประโยชน์สำหรับบริการที่รีสตาร์ทอย่างดื้อรั้นหรือไม่จำเป็นอย่างชัดเจนในระบบของคุณ

นอกจากนี้ คุณอาจพบบริการเพิ่มเติมที่คุณสามารถปิดใช้งานได้อย่างปลอดภัย ขึ้นอยู่กับการตั้งค่าของคุณ เช่น:

avahi-daemon.service
ModemManager.service
thermald.service

อย่างไรก็ตาม ตรวจสอบให้แน่ใจว่าคุณได้ศึกษาบริการก่อนปิดใช้งานเสมอ สิ่งที่ไม่จำเป็นบนระบบเดสก์ท็อปอาจจำเป็นบนแล็ปท็อปหรือเซิร์ฟเวอร์

ความคิดสุดท้าย

การปิดใช้งานบริการที่ไม่จำเป็นสามารถลดเวลาบูตและเพิ่มทรัพยากรระบบได้ โดยเฉพาะบนระบบที่ใช้ฮาร์ดไดรฟ์แบบเดิม แม้แต่ในระบบที่ใช้ SSD สมัยใหม่ การตัดบริการที่ไม่ได้ใช้ออกไปก็ช่วยให้ระบบของคุณสะอาดและมีประสิทธิภาพ

นอกจากนี้ ยังมีเครื่องมือกราฟิก เช่น Stacer สำหรับจัดการบริการ แต่มักมีการควบคุมที่จำกัดหรือฟังก์ชันการทำงานที่ล้าสมัย เพื่อการจัดการที่สม่ำเสมอและแม่นยำในการกระจายต่างๆ เครื่องมือบรรทัดคำสั่ง systemctl ยังคงเป็นตัวเลือกที่น่าเชื่อถือที่สุด