改变背景与前景过程的优先顺序?

表示nice / renice在作为前台进程启动的进程和作为后台进程启动的进程之间没有效果。 即使在前台进程中最大的好处,他们也会得到更多的关注。 虽然这对于用户等待结果的进程有很大的意义,但是如果长时间运行的进程以这种方式开始,则会成为问题。 我认为Linux应该减less长时间运行的任务,但根据下面的例子,情况并非如此:user_foo将所有进程作为前台进程启动,现在运行几个星期。 最近开始的user_bar后台任务(如果可能的话,他们可能还会使用100%的CPU),虽然具有较好的-20,

top - 17:12:27 up 31 days, 8:29, 4 users, load average: 33.04, 32.60, 29.48 Tasks: 278 total, 26 running, 252 sleeping, 0 stopped, 0 zombie Cpu(s): 91.6%us, 0.8%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 7.5%st Mem: 16434608k total, 15893028k used, 541580k free, 1168920k buffers Swap: 24673276k total, 18100k used, 24655176k free, 2255512k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2399 user_foo 39 19 4117m 246m 60m S 102 1.5 34915:56 heavytask 2234 user_foo 39 19 4052m 201m 59m S 101 1.3 39631:48 heavytask 3474 user_foo 39 19 4674m 1.1g 58m S 100 7.2 36057:58 heavytask 3782 user_foo 39 19 4447m 1.3g 58m S 100 8.5 36108:42 heavytask 3128 user_foo 39 19 3112m 182m 60m S 100 1.1 29983:33 heavytask 6644 user_foo 39 19 3637m 705m 59m S 100 4.4 26310:45 heavytask 2571 user_foo 39 19 5220m 1.8g 60m S 99 11.7 14908:44 heavytask 14607 user_bar 0 -20 52488 12m 5368 R 84 0.1 10:42.24 otherTASK 14755 user_bar 0 -20 52488 12m 5368 R 82 0.1 10:35.85 otherTASK 14758 user_bar 0 -20 52488 12m 5368 R 78 0.1 10:54.96 otherTASK 14795 user_bar 0 -20 52488 12m 5368 R 76 0.1 10:01.66 otherTASK 14783 user_bar 0 -20 52488 12m 5368 R 75 0.1 9:32.76 otherTASK 14596 user_bar 0 -20 52488 12m 5368 R 30 0.1 10:40.58 otherTASK 14728 user_bar 0 -20 52488 12m 5368 R 30 0.1 9:39.03 otherTASK 14583 user_bar 0 -20 52488 12m 5368 R 27 0.1 10:07.11 otherTASK 14706 user_bar 0 -20 52488 12m 5368 R 26 0.1 9:38.22 otherTASK 14501 user_bar 0 -20 52488 12m 5368 R 25 0.1 9:40.70 otherTASK 

可以做些什么来降低这些特定前台进程的优先级? (或提升特定后台进程的优先级)?

(系统是Ubuntu 12.04 LTS,内核3.2.0-32)

有必要在调度程序中禁用自动分组function:一次执行此操作

 sudo sysctl kernel.sched_autogroup_enabled=0 

或添加

 kernel.sched_autogroup_enabled = 0 

在/etc/sysctl.d/50-disable-autogroup.conf中,以便在重启时设置。

另请参见好的水平不工作在同一个问题的Linux报告。