เด็ก ๆ ทำกระบวนการสืบทอดลำดับความสำคัญของไอริสจากพ่อแม่ของพวกเขาหรือไม่? คุณจะตรวจสอบลำดับความสำคัญของ IO ของกระบวนการทำงานได้อย่างไร


15

Ionice เป็นคำสั่ง linux มาตรฐานที่อนุญาตให้ตั้งค่าระดับความสำคัญ io สำหรับกระบวนการ:

http://linux.die.net/man/1/ionice

เด็ก ๆ ทำกระบวนการสืบทอดลำดับความสำคัญของไอริสจากพ่อแม่หรือไม่? คุณจะตรวจสอบลำดับความสำคัญของกระบวนการที่กำลังทำงานอยู่ได้อย่างไร

คำตอบ:


12

ใช่. ฉันทดสอบแล้ว ลำดับความสำคัญของ IO ได้รับการถ่ายทอดเช่นเดียวกับความดีของ CPU นี่อาจเป็นสิ่งที่คุณต้องการ หากไม่เป็นเช่นนั้นคุณสามารถระบุลำดับความสำคัญ IO ของกระบวนการลูกด้วยคำสั่ง ionice



7

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


1

ใช่และนี่คือวิธีที่ฉันทดสอบ

สร้างสองไฟล์ foo.sh

# ==> foo.sh <==
echo $$
ionice

และ nicechange.sh

# ==> nicechange.sh <==
echo $$
echo -n Before change:
ionice

echo Change to best-effort
ionice -c best-effort -p $$

echo After changed
ionice

echo Subprocess
x=$(bash foo.sh)
echo $x

จากนั้นเรียกใช้:

$ bash nicechange.sh 
2549
Before change:idle
Change to best-effort
After changed
best-effort: prio 4
Subprocess
2555 best-effort: prio 4
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.