我使用两个进程运行Ubuntu basic服务器:- process 1--执行100%的正常运行时间计算,并使用它与社区共享计算能力(它正在运行@prio 19) -进程2--不时执行5-10分钟的计算,我使用它为我计算(它正在运行@ prio -19)
我希望进程2被给予100%的计算能力(进程1在那个时刻应该接近于CPU的0% )。
我尝试使用尼斯/ renice和进程1与prio 19 (最低可能)和进程2是给予PRIO-19(最高可能)。但是我得到的最好的是进程1的CPU的50%,进程2的CPU的50% (用htop检查)--这让我有点吃惊……
这两个进程都是多线程的,如果单独运行,则消耗100%的CPU内核。没有其他资源(I/O、内存、带宽.)会影响这种用法。
当我需要计算能力时,我不想手动停止/启动任何进程(两个进程都必须一直在运行);进程2的CPU必须100%是自动分配的。
我应该怎么做才能达到我的目标?谢谢。
发布于 2019-10-09 21:53:22
由于@ubfan1 1,我探索了不同的调度策略,下面是我迄今取得的最佳结果:
结果:当两个进程同时运行时,进程1被赋予CPU的约5%,进程2被赋予CPU的95%。
当只有进程1执行计算时(进程2正在等待我的输入开始计算)-进程1使用100%的CPU。
如果有人更感兴趣,请阅读以下内容:
https://askubuntu.com/questions/1179759
复制相似问题