คำถามติดแท็ก priority

3
ทำไมฉันไม่สามารถใช้ renice เพื่อเพิ่มมูลค่าที่ดีของกระบวนการได้?
จากman renice: ผู้ใช้รายอื่นนอกเหนือจากผู้ใช้ขั้นสูงอาจเปลี่ยนลำดับความสำคัญของกระบวนการที่พวกเขาเป็นเจ้าของและสามารถเพิ่มค่าที่ดี 'ของพวกเขา (เพื่อเหตุผลด้านความปลอดภัย)ภายในช่วง 0 ถึง PRIO_MAX (20) [... ] ดังนั้นฉันสามารถทำreniceกระบวนการของตัวเองให้สูงขึ้น (ให้ลำดับความสำคัญต่ำกว่า) แต่ไม่เคยลง: $ renice 10 22316 22316 (process ID) old priority 0, new priority 10 $ renice 9 22316 renice: failed to set priority for 22316 (process ID): Permission denied ทำไมนี้ ฉันสามารถเข้าใจได้ว่าทำไมผู้ใช้ปกติไม่สามารถตั้งค่าที่ดีได้ต่ำกว่า 0 แต่เพราะเหตุใดฉันสามารถลดลำดับความสำคัญเป็น 10 ฉันไม่สามารถเพิ่มความสำคัญเป็น 9 อีกครั้งได้ …
25 nice  priority 

2
เหตุใดความดีจึงมีตั้งแต่ -20 ถึง 19
niceคำสั่งช่วยให้คุณสามารถปรับการจัดลำดับความสำคัญการตั้งเวลา ( "ความดี") ของโปรแกรม ในทุกระบบที่เหมือนกับ Unix ที่ฉันใช้ความดีจะถูกระบุด้วยช่วงของจำนวนเต็มโดยที่ -20 เป็นลำดับความสำคัญการจัดตารางเวลาที่ดีที่สุด 0 คือค่าเริ่มต้นและ 19 เป็นค่าที่น้อยที่สุด การมี 0 เป็นความดีเริ่มต้นนั้นง่ายพอ แต่เหตุใดจึงเลือก -20 และ 19 เป็นจุดสิ้นสุดของช่วง ทำไมไม่ -128 และ 127 ซึ่งจะพอดีกับไบต์ 8 บิตที่ลงนามแล้ว? หรือเพราะเหตุใด -100 ถึง 100 ซึ่งเป็นมนุษย์ที่ใช้ทศนิยมได้ง่ายกว่าหรือใกล้เคียงกับการยศาสตร์ -99 ถึง 99 เล็กน้อย มีการเลือกช่วง -20 ถึง 19 โดยพลการหรือไม่หรือมีความสัมพันธ์กับ internals ของตัวกำหนดตารางเวลาที่niceเชื่อมโยงกับตอนแรกหรือไม่ (ฉันเข้าใจว่าวันนี้ไม่มีความสัมพันธ์อย่างน้อยสำหรับ Linux ซึ่งตัวกำหนดตารางเวลาใช้ลำดับความสำคัญในช่วง 0 ถึง 139 …


2
คุณค่าความดีของ (-) หมายถึงอะไร
ตามหน้า man และ wikipedia; niceช่วงจาก -20 ถึง 20 แต่เมื่อฉันเรียกใช้คำสั่งต่อไปนี้ฉันพบว่าบางกระบวนการมีค่าที่ไม่ใช่ตัวเลขเช่น (-) ดูคอลัมน์ที่หกจากด้านซ้ายด้วยชื่อ 'NI' ความอ่อนโยนของ (-) บ่งบอกอะไร? ps axl F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 4 0 1 0 20 0 19356 1548 poll_s Ss ? 0:00 /sbin/init 1 0 2 0 20 0 0 …

7
ฉันจะเริ่มต้นกระบวนการด้วยค่าที่ดีได้ที่ -20 และไม่ให้สิทธิ์รูท
ฉันต้องการเริ่มต้นกระบวนการด้วยค่าที่ดีของ -20 นี้ต้องให้ผมใช้คำสั่งเช่น sudo nice -n -20 matlab- อย่างไรก็ตามสิ่งนี้เริ่มต้นด้วย matlab ในฐานะรูทด้วย มีวิธีในการมี matlab ที่ไม่ใช่รูทหรือไม่? แนวทางปัจจุบันของฉันคือ - sudo nice -n -20 sudo -u myusername matlabซึ่งสำหรับฉันดูเหมือนว่าแฮ็ค มีวิธีโดยตรงในการทำเช่นนี้?
18 process  priority  nice 



4
เรียกใช้กระบวนการ linux ที่มีความสำคัญต่ำมากใช่ไหม
ฉันมีกระบวนการปกติที่ไม่สำคัญ แต่จะใช้พลังงาน CPU มากและฉันมีกระบวนการอื่นที่สำคัญจริง ๆ แต่ใช้เวลาส่วนใหญ่ว่างเปล่า แต่เมื่อได้งานก็ต้องใช้พลังงานในการคำนวณสูง ฉันพยายามเรียกใช้ด้วยnice -20 ./low_priority_processและnice --20 ./high_priority_processยังคงมีลำดับความสำคัญต่ำกว่าใช้ CPU จำนวนมากเมื่อมีความต้องการกระบวนการที่มีลำดับความสำคัญสูงฉันจะเรียกใช้กระบวนการที่จะให้ผลจริงๆหรือแม้กระทั่งหยุดทำงานอัตโนมัติเมื่อกระบวนการอื่นใช้พลังงาน CPU
12 process  cpu  htop  priority  nice 

2
อะไรคือผลกระทบของลำดับความสำคัญและนโยบายของเธรดใน cpuset ที่ไม่มีการควบคุม
ฉันมีระบบลีนุกซ์ที่เราใช้ cgroups เพื่อสร้างสอง cpu_exclusive cpusets, A และ B และที่ที่เราโอนย้ายเธรดผู้ใช้ทั้งหมดและเคอร์เนลเธรดที่ไม่ได้ผูกทั้งหมดไปยัง cgroup ที่แนบกับ cpuset A สิ่งที่ทำงานใน cpuset A มีนโยบายที่แตกต่างกัน และลำดับความสำคัญที่แตกต่างกันและมีหลายเธรดที่ทำงานอยู่ใน cpuset A มากกว่าที่มีแกนใน cpuset A นอกจากนี้ยังมีโพรเซสที่ใช้งานอยู่จำนวนเล็กน้อยที่เชื่อมต่อกับ cpuset B ซึ่งจำนวนเธรดผู้ใช้ทั้งหมดในกระบวนการเหล่านี้ไม่เคยมากกว่าจำนวนคอร์ที่มีเฉพาะใน cpuset B เป้าหมายคือเพื่อป้องกันงานสำคัญเหล่านี้ที่ทำงานใน cpuset B จากกิจกรรมอื่น ๆ บนเครื่องและเพื่อลดความหน่วงในการประมวลผล ในการตั้งค่าเช่นนี้นโยบายการกำหนดเวลา / ลำดับความสำคัญของเธรดผู้ใช้ที่ทำงานใน cpuset B มีผลที่สังเกตได้หรือไม่? ระบุไว้แตกต่างกัน: จะเปลี่ยนนโยบายการตั้งเวลาของเธรด B cpuset จาก SCHED_OTHER เริ่มต้นเป็น SCHED_FIFO หรือ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.