เปลี่ยนความดี (ความสำคัญ) ของกระบวนการที่กำลังทำงานอยู่


80

เป็นไปได้หรือไม่ที่จะกำหนดniceระดับใหม่ของกระบวนการที่กำลังรันด้วย id ที่รู้จัก?

การดำเนินการนี้ต้องการการเข้าถึงรูทหรือเพียงแค่เป็นเจ้าของกระบวนการหรือไม่

คำตอบ:


76

สถานีปลายทาง

หากคุณอยู่ที่อาคารผู้โดยสารคุณสามารถใช้ renice

renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

ตัวอย่างง่ายๆก็คือ

renice 8 31043
31043: old priority 5, new priority 8

นอกจากนี้คุณยังสามารถส่งผ่านค่าสถานะยาก แต่ตามคำสั่งนั้น (คุณต้องผ่านลำดับความสำคัญก่อนแล้ว pid - ถ้าคุณเปลี่ยนลำดับมันจะแสดงการใช้งาน messagge)

renice -n 5 -p 31043
31043: old priority 8, new priority 5

ความคาดหวังการทำงานในระดับของ-20การ19- ต่ำกว่าจำนวนที่สูงกว่าความสำคัญของมันในระบบ

หากคุณเป็นเจ้าของกระบวนการคุณไม่จำเป็นต้องรูท - อย่างไรก็ตามหากกระบวนการนั้นเป็นของผู้ใช้รายอื่นหรือถ้าคุณวางแผนที่จะเปลี่ยนกลุ่ม / ผู้ใช้ของรูทกระบวนการ (ผ่านsudo) จะต้อง


11
คุณไม่สามารถลดความอ่อนโยนในฐานะผู้ใช้ :)
htorque

5
@htorque กล่าวว่าrootผู้ใช้ที่ไม่ใช่ผู้ใช้สามารถเพิ่มความสวยงามได้เท่านั้น - พวกเขาไม่สามารถลดความสวยงามได้แม้กระทั่งในระดับที่เคยมีมาก่อนของกระบวนการที่มีความreniceสวยงาม ฉันขอแนะนำให้แก้ไขคำตอบนี้เพื่อรวมข้อมูลนั้น
Eliah Kagan

2
มีข้อเสียใด ๆ ในการสร้างลำดับความสำคัญของกระบวนการ -20 หรือไม่?
James Watkins

2
@JamesWatkins คุณสามารถหยุดคอมพิวเตอร์ของคุณได้
DarthRubik

33

GUI

  • Alt+ F2และประเภทsudo gnome-system-monitor

ก่อนหน้า 11.04: ระบบ> การดูแลระบบ> การตรวจสอบระบบ เลือกกระบวนการ
ใน 11.04: Alt+ และค้นหาAsystem monitor

รหัสจะปรากฏในภาพที่นี่:

ป้อนคำอธิบายรูปภาพที่นี่

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


10

เริ่มต้นคำสั่งด้วย prio ที่ดี

nice -n 19 your_command

Renice process

renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)

19

ระหว่าง -20 ถึง 19

19 มีความสำคัญต่ำสุด


8

การใช้ "renice" ในเทอร์มินัลมีดังนี้:

Usage:
 renice [-n] <priority> [-p] <pid> [<pid>  ...]
 renice [-n] <priority> [-g] <pgrp> [<pgrp> ...]
 renice [-n] <priority> [-u] <user> [<user> ...]

Options:
 -g, --pgrp <id>        interpret as process group ID
 -h, --help             print help
 -n, --priority <num>   set the nice increment value
 -p, --pid <id>         force to be interpreted as process ID
 -u, --user <name|id>   interpret as username or user ID
 -v, --version          print version

การใช้ "sudo" before คำสั่ง "renice" จะยกระดับผู้ใช้ไปยังระดับรูทและจะต้องใช้รหัสผ่านของผู้ดูแลระบบ / รูท

ดังนั้นหากคุณต้องการยกระดับกระบวนการด้วย PID (ID กระบวนการ) 2606จากลำดับความสำคัญปกติเป็นลำดับความสำคัญสูงคุณจะพิมพ์ในเทอร์มินัลดังนี้:

sudo renice -n -5 -p 2606

3

นอกจากนี้คุณยังสามารถเปลี่ยนกระบวนการภายใน

1) เริ่มด้านบน

$ top

2) renice rโดยการกด คุณจะได้รับแจ้งให้ประมวลผล ID (PID) ของกระบวนการที่คุณต้องการยกเลิก PID เริ่มต้นเป็นกระบวนการแรก (หนึ่งที่ใช้ทรัพยากรมากที่สุด) ยืนยันด้วยบันทึก ตั้งค่า nice ใหม่จาก -20 (ลำดับความสำคัญสูงกว่า) เป็น +19 (ลำดับความสำคัญต่ำกว่า)

ป้อนคำอธิบายรูปภาพที่นี่


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