เครื่องมือการจัดการพลังงานใน Linux ทำอะไร (acpi, pm-utils, ฯลฯ …)


21

ฉันสับสนจริงๆเกี่ยวกับเครื่องมือการจัดการพลังงานสำหรับ Linux: ฉันมี Arch Linux ที่มี XFCE บนแล็ปท็อปของฉัน

คำแนะนำในรายการ Wiki Linux

  • acpi
  • acpid
  • pm-utils
  • cpufreq
  • laptop-mode-tools

ในการจัดการพลังงานการระงับดิสก์และ CPU, WiFi และอื่น ๆ

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


ในขณะนี้ฉันเพิ่งติดตั้งpm-utils(+ upower) เท่านั้น ฉันยังต้องacpiและ / หรือacpid? แล้วlaptop-mode-toolsผู้บังคับบัญชาประเภทนี้ของเครื่องมืออื่น ๆ ทั้งหมดคืออะไร? ถ้าเป็นเช่นนั้นฉันควรกำหนดค่าlaptop-mode-toolsเครื่องมืออื่น ๆ หรือแยกจากกันเท่านั้น พวกเขามีปฏิสัมพันธ์กับlm-sensorsและcpufreqอย่างไร?

นอกจากนี้ยังมี XFCE Power Manager ซึ่งดูเหมือนจะไม่เกี่ยวข้องกับเครื่องมือใด ๆ ข้างต้นเนื่องจากสามารถใช้งานได้แม้ว่าจะไม่ได้ติดตั้งก็ตาม ดังนั้นคำถามของฉันคือถ้าฉันติดตั้งคนอื่นพวกเขาจะขัดแย้งกับ XFCE Power Manager? และตัวเลือกการจัดการพลังงานรวมอยู่ในXscreensaverอะไรบ้าง? พวกเขาขัดแย้งหรือพวกเขาแทนที่การตั้งค่าใน XFCE Power Manager ( acpiหรือpm-utils) หรือไม่?

สิ่งที่ฉันต้องการทำจริงๆคือการใช้พลังงานอย่างมีประสิทธิภาพ:

  • สามารถไปที่โหมดสแตนด์บาย / ช่วงล่าง
  • ไม่มีแฟนทำงานตลอดเวลา
  • อย่าทำให้ร้อนเกินไป / ทำลายซีพียูและฮาร์ดไดรฟ์
  • ปิด WiFi เมื่ออยู่ในโหมดเตรียมพร้อม / ถูกระงับ
  • และอื่น ๆ

คำตอบ:


23
  • acpiเป็นเพียงโปรแกรมขนาดเล็กที่แสดงข้อมูล ACPI พื้นฐาน

  • acpidเป็น daemon ที่จัดการเหตุการณ์ ACPI - ปุ่มเปิดปิดฝาปิดแบตเตอรี่และสิ่งที่เกี่ยวข้องส่วนใหญ่ ตัวอย่างเช่นหากปุ่มเพาเวอร์ถูกกด acpid shutdownวิ่ง เมื่อเชื่อมต่อไฟฟ้ากระแสสลับacpidสามารถเรียกใช้laptop-mode-toolsคำสั่งapropriate หากคุณใช้systemdมันจะแทนที่การทำงานของacpidเกือบทั้งหมด

  • cpufreq (ล้าสมัยแล้ว) เป็นชุดเครื่องมือสำหรับปรับความถี่ซีพียู ฟังก์ชันการทำงานหลักเป็นส่วนหนึ่งของเคอร์เนลและสามารถเข้าถึงได้ผ่าน/sysและคำสั่งcpufreqเป็นเพียงเพื่อความสะดวก แต่สคริปต์บางตัวอาจต้องการ

  • cpufreqd (ด้วยd ) เป็น daemon ผู้ใช้พื้นที่ที่สามารถใช้แทนการควบคุมเคอร์เนลพื้นที่เริ่มต้น (powersave, ondemand, ประสิทธิภาพ) ไม่จำเป็นสำหรับการใช้งานส่วนใหญ่ผู้ว่าการมาตรฐานก็เพียงพอแล้ว

  • cpupowerเป็นการแทนที่cpufreq - อนุญาตให้ตั้งค่าความถี่ของ CPU จากบรรทัดคำสั่ง

  • เครื่องมือโหมดแล็ปท็อปจะปรับระบบต่าง ๆ เมื่อใดก็ตามที่คุณเสียบหรือถอดปลั๊กไฟ AC ไปยังแล็ปท็อปของคุณ - ตัวอย่างเช่นเวลาที่ดิสก์หมุนลงหรือเปลี่ยนผู้ว่าราชการ cpufreq มันถูกเรียกใช้โดยacpidกับเหตุการณ์ AC และไม่ได้ใช้งานในช่วงเวลาที่เหลือ

    (หมายเหตุ: การตั้งค่าบางอย่างในเครื่องมือของโหมดแล็ปท็อปอาจส่งผลกระทบต่อประสิทธิภาพและ / หรือความมีเหตุผลตัวอย่างเช่นการปิดการใช้งาน Ethernet autonegotiation ซึ่ง IMHO นั้นโง่มาก)

  • pm-utilsจัดการกับการเตรียมการระงับหน่วยความจำและ / หรือดิสก์ (การเรียกใช้ hooks ก่อนแขวนชั่วคราวเลือกวิธีที่ดีที่สุด) พวกเขาไม่ได้ใช้งานส่วนที่เหลือของเวลา

    คุณเคยต้องใช้pm-utilsในการระงับเครื่องให้สะอาดหมดจด แต่ในเครื่องที่ทันสมัยpm-utilsทำน้อยมากเพราะสามารถบอกเคอร์เนลให้หยุดทำงานได้ ถ้าคุณใช้systemdแล้วมันแทนที่PM-utils

  • นอกจากนี้PM-utilsมาพร้อมกับPM-ประหยัดพลังงานคำสั่งที่มีประสิทธิภาพมากที่สุดของฟังก์ชั่นเดียวกันเป็นแล็ปท็อปโหมดเครื่องมือ pm-powersaveถูกทริกเกอร์โดยupowerเมื่อคุณเสียบ / ถอดปลั๊กไฟ AC และทำการปรับเปลี่ยนต่างๆ

  • systemd-logindมีฟังก์ชั่นสำหรับหยุดชั่วคราว / จำศีลและจัดการเหตุการณ์ ACPI ที่พบบ่อยที่สุด (สวิตช์ฝาปิดปุ่มเปิดปิด ฯลฯ ) มันแทนที่ acpidและpm-utilsบนระบบส่วนใหญ่

    (ซึ่งแตกต่างจากpm-utilsอย่างไรก็ตามsystemd-logindไม่ได้มาพร้อมกับฮุคล่วงหน้าหรือการแก้ปัญหาอื่น ๆ โดยค่าเริ่มต้นและใช้วิธีการระงับเคอร์เนลเริ่มต้นเท่านั้นซึ่งคาดว่าข้อบกพร่องของไดรเวอร์จะได้รับการแก้ไขในไดรเวอร์)

  • upowerเป็นชั้นนามธรรมสำหรับการใช้งานเดสก์ท็อปกับพารามิเตอร์พลังงานต่างๆ โปรแกรมสามารถใช้เพื่อตรวจสอบสถานะแบตเตอรี่ปรับแบ็คไลท์หรือระงับระบบโดยไม่ต้องสนใจแพลตฟอร์มที่เฉพาะเจาะจง upowerยังใช้ PolicyKit เพื่ออนุญาตการดำเนินการต่างๆ (หยุดชั่วคราว ฯลฯ ) โดยไม่ต้องให้สิทธิ์พิเศษเต็มรูปแบบ มันอาศัยPM-utilsและacpid GNOME และ Xfce ต้องการupowerสำหรับการตั้งค่า "การจัดการพลังงาน"

  • ตัวจัดการพลังงาน Xfceควบคุมพารามิเตอร์ต่างๆเช่นเวลาเปิดปิดการแสดงผล, การปรับขนาด CPU, ความสว่างของ LCD, กิจกรรม ACPI ... (ฟังก์ชั่นนี้คล้ายกับacpidและโหมดแล็ปท็อปเครื่องมือซึ่งทั้งสองมีการกำหนดค่าทั้งระบบเพียงระบบเดียว -fi การตั้งค่าผู้ใช้.) XfPM จัดการนโยบายเท่านั้น แต่อาศัยupowerสำหรับกลไกที่เกิดขึ้นจริง นอกจากนี้ XfPM ยังส่งการแจ้งเตือนเช่น "แบตเตอรี่ต่ำ" อีกด้วย

หมายเหตุ: ฉันไม่แน่ใจทั้งหมดว่าความสัมพันธ์ระหว่าง XfPM, acpid, โหมดแล็ปท็อปเครื่องมือและ upower คืออะไร สำหรับฉันแล้ว XfPM แทนที่ส่วนใหญ่ของฟังก์ชั่น acpid / lmt แต่ไม่ใช่ทั้งหมด


ขอบคุณมากสำหรับคำอธิบายของคุณ ให้ฉันดูว่าฉันเข้าใจหรือไม่: Xfce Power Managerเป็น 'GUI' ที่ใช้ upower ซึ่งต้องการ pm-utils และ acpid (แม้ว่า acpid ไม่ใช่การพึ่งพา แต่นี่อาจเป็นปัญหาของ archlinux) pm-utilsจะหยุดทำงานชั่วคราวและเครื่องมือโหมดแล็ปท็อปจะทำการปรับอื่น ๆ แต่จะไม่ขัดแย้งเพราะทำสิ่งที่แตกต่าง อย่างไรก็ตามพวกเขาทั้งสองต้องการacpidเพื่อที่จะรู้ว่าเกิดอะไรขึ้น และในที่สุดcpufreq (และ cpufreqd) อาจไม่จำเป็นเพราะเคอร์เนลควรดูแลสิ่งนั้น สิ่งนี้ถูกต้องมากหรือน้อย?
rs028

@rsom: XfPM เป็นทั้ง GUI สำหรับการปรับการตั้งค่าและ daemon ที่รับรองว่าจะใช้การตั้งค่า นอกจากนั้นถูกต้อง
grawity

แต่มันทำได้โดยส่งคำสั่งไปยังเครื่องมืออื่น ๆ (เรียงลำดับของดีมอนระดับสูงกว่า)? การตั้งค่าการจัดการพลังงานในXscreensaver ยังไงบ้าง? พวกเขาแทนที่พวกเขาใน XfPM หรือในทางกลับกัน?
rs028

AFAIK, Xscreensaver ไม่ได้ทำการจัดการพลังงานด้วยตัวเอง - เพียงแค่ตั้งค่าพารามิเตอร์ apropriate ในเซิร์ฟเวอร์ X11 (ลองxset q) อาจเป็นไปได้ว่า Xfpm เพียงจัดการการตั้งค่าเดียวกันหรือไม่จัดการหน้าจอเลยและปล่อยให้โปรแกรมรักษาหน้าจอทำงานได้ (ฉันใช้ GNOME ซึ่งมีโปรแกรมเป็นของตัวเอง "GNOME สกรีนเซฟเวอร์" และฉันไม่รู้ว่า Xscreensaver เป็นค่าเริ่มต้นของ Xfce ... การอ่านแหล่งที่มาของ Xfpm อาจเป็นคำตอบที่ดีที่สุด)
grawity

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