ในไฟล์บริการ systemd หนึ่งสามารถตั้งค่าตัวเลือกที่เกี่ยวข้องกับการจัดตารางเวลาต่อไปนี้ (จากsystemd.exec
หน้าคนแก้ไขฉันถ้าฉันผิด):
Nice ตั้งค่าระดับ nice เริ่มต้น (ลำดับความสำคัญตามกำหนดเวลา) สำหรับกระบวนการที่ดำเนินการ ใช้จำนวนเต็มระหว่าง -20 (ลำดับความสำคัญสูงสุด) ถึง 19 (ลำดับความสำคัญต่ำสุด) ดูsetpriority (2)สำหรับรายละเอียด
ซึ่งเป็นระดับที่ดีที่คุ้นเคย ดูเหมือนว่าผลกระทบของมันคือ 'ล้มล้าง' ค่อนข้างเนื่องจากคุณสมบัติ 'กลุ่มอัตโนมัติ' ของเมล็ดลินุกซ์ที่ผ่านมา ดังนั้นตัวเลือกด้านล่างอาจเป็นสิ่งที่ฉันต้องการจะตั้งไว้เพื่อให้กระบวนการทำงานได้ดีสำหรับประสบการณ์เดสก์ท็อปของฉัน
CPUSchedulingPolicy ตั้งค่านโยบายการกำหนดเวลา CPU สำหรับกระบวนการที่ดำเนินการ ใช้เวลาหนึ่งอื่นแบทช์ไม่ได้ใช้งาน fifo หรือ rr ดูsched_setscheduler (2)เพื่อดูรายละเอียด
CPUSchedulingPriority ตั้งค่าลำดับความสำคัญการกำหนดเวลา CPU สำหรับกระบวนการที่ดำเนินการ ช่วงลำดับความสำคัญที่มีอยู่จะขึ้นอยู่กับนโยบายการตั้งเวลา CPU ที่เลือก (ดูด้านบน) สำหรับนโยบายการจัดตารางเวลาแบบเรียลไทม์สามารถใช้จำนวนเต็มระหว่าง 1 (ลำดับความสำคัญต่ำสุด) และ 99 (ลำดับความสำคัญสูงสุด) ได้ ดูsched_setscheduler (2)เพื่อดูรายละเอียด
CPUSchedulingResetOnFork ใช้อาร์กิวเมนต์แบบบูล หากเป็นจริงลำดับความสำคัญของการกำหนดเวลา CPU ที่สูงขึ้นและนโยบายจะถูกรีเซ็ตเมื่อกระบวนการประมวลผลแยกกันและอาจไม่รั่วไหลไปสู่กระบวนการลูก ดูsched_setscheduler (2)เพื่อดูรายละเอียด ค่าเริ่มต้นเป็นเท็จ
ฉันเข้าใจตัวเลือกสุดท้าย ฉันรวบรวมจากคำอธิบายของสองข้อแรกที่ฉันสามารถเลือกนโยบายการกำหนดเวลาจากนั้นตามลำดับความสำคัญ ไม่ชัดเจนสำหรับฉันว่าฉันควรเลือกงานประเภทใด ตัวอย่างเช่นจะปลอดภัยหรือไม่ที่จะเลือก 'ไม่ใช้งาน' สำหรับงานสำรองข้อมูล (ค่อนข้างใช้งาน CPU สูงเนื่องจากการขจัดข้อมูลซ้ำซ้อน) หรือเหมาะสมกว่าหรือไม่
โดยทั่วไปแล้วการเข้าใจภาพรวมของแต่ละนโยบายโดยมีลำดับความสำคัญและความเหมาะสมสำหรับวัตถุประสงค์เฉพาะคือสิ่งที่ฉันกำลังมองหา นอกจากนี้ยังมีปฏิสัมพันธ์กับระดับที่ดีที่น่าสนใจ
ถัดจากการกำหนดตารางเวลาของ CPU จะมีการตั้งเวลา IO ฉันเดาว่าสิ่งนี้สอดคล้องกับionice
(แก้ไขฉันหากฉันผิด)
IOSchedulingClass ตั้งค่าคลาสการกำหนดตารางเวลา I / O สำหรับกระบวนการที่ดำเนินการ ใช้จำนวนเต็มระหว่าง 0 ถึง 3 หรือหนึ่งในสตริงที่ไม่มีแบบเรียลไทม์ความพยายามที่สุดหรือไม่ได้ใช้งาน ดูioprio_set (2)สำหรับรายละเอียด
IOSchedulingPriority ตั้งค่าลำดับความสำคัญการกำหนดตารางเวลา I / O สำหรับกระบวนการที่ดำเนินการ ใช้จำนวนเต็มระหว่าง 0 (ลำดับความสำคัญสูงสุด) และ 7 (ลำดับความสำคัญต่ำสุด) ลำดับความสำคัญที่มีอยู่ขึ้นอยู่กับคลาสการกำหนดตารางเวลา I / O ที่เลือก (ดูด้านบน) ดูioprio_set (2)สำหรับรายละเอียด
เราจะเห็นโครงสร้างเดียวกันกับการตั้งเวลา CPU ฉันกำลังมองหาข้อมูลประเภทเดียวกันเช่นกัน
สำหรับตัวเลือก 'การตั้งเวลา' ทั้งหมดหน้าเพจที่อ้างถึงนั้นไม่ชัดเจนเพียงพอสำหรับฉันซึ่งส่วนใหญ่เป็นการแปลสิ่งต่าง ๆ ไปยังมุมมองของผู้ใช้เดสก์ท็อปที่ค่อนข้างมีเทคนิค
nice
ใช้ค่า)