8

有没有办法同时设置进程的nice值和它的亲和力?例如:

 taskset -c 0,1 nice -20 proc

更新:它是这样工作的。我想它一定是我更复杂的东西。

4

2 回答 2

2

使用基于 PID 的调度工具

许多 CPU 调度工具需要 PID 而不是命令。以下似乎适用于我的系统:

# Using shell expansion to reliably use correct PID.
sudo nice -n18 schedtool -a 0,1 $(sleep 30 & echo $!) &

通过使用 shell 扩展来获取最后一个后台进程的 PID,但这似乎很骇人听闻。恕我直言,以下内容似乎更清晰,但您的里程(显然您正在使用的调度工具的细节)可能会有所不同。

# Cleaner example with less hacking around.
nice -n18 sleep 30 &
sudo schedtool -a 0,1 $!

接受命令的标志

如果支持,-e 标志似乎通过允许命令而不是 PID 来完成所需的操作。例如:

sudo schedtool -a 0,1 -e nice -n18 sleep 30 &
于 2012-07-23T14:28:51.993 回答
0

有什么问题taskset -c 0,1 && nice -20 proc?如果 taskset 成功,那么 nice 将被调用。

于 2012-07-23T14:18:45.907 回答