linux可以修改进程时间片的长短吗?
如果可以
how to do it?
thanks.
[解决办法]
应该可以改吧?时间片太小,CPU浪费在进程切换上的时间比例就大,效率就低;而时间片太大,交互、实时性能就保证不了。
[解决办法]
去看看schedule函数
[解决办法]
改HZ的值,一般不建议修改
[解决办法]
linux的时间片不能直接修改,可以通过修改进程的优先级来间接修改。调度程序会根据优先级动态调整时间片。
可以通过系统调用nice()来修改进程优先级,从而影响时间片。
note:只有超级用户才能在调用它时使用负值。
[解决办法]
间接修改的话可以修改进程的优先级,从而让内核自己调整进程的时间片.
直接修改的话,可以自己写个系统调用或者模块,调整进程的task_struct结构的slices
就可以修改了
[解决办法]
明确回答,no
不可能改某个进程的时间片长度,系统调度的时间片是既定的。具体在代码的什么地方,还没研究过,但是Linux的实现原理是这样的
想要一个进程获得更多的运行时间只有提高它的优先级。
[解决办法]