首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >macOS 10.13.4 -“`renice`”似乎没有作用

macOS 10.13.4 -“`renice`”似乎没有作用
EN

Unix & Linux用户
提问于 2018-05-08 05:56:21
回答 1查看 856关注 0票数 1

我试着在我的Mac上测试renice命令,它似乎没有效果。我就是这样测试的:

我有一个带有超线程的双核CPU,所以我运行了6个node -e 'while(1){}'实例,这些实例组合在一起,使我的CPU达到最大值。(或者,如果没有节点,则运行while true; do echo running > /dev/null ; done。)

然后,通过活动监视器应用程序或pgrep获取节点进程的PID,然后运行sudo renice -n 19 -p $PID

通过查看活动监视器应用程序或htop,所有节点进程的CPU使用率仍然相等:

我的理解是,我reniced的进程优先级很低,因此当有其他进程使用它时,不会占用大量的CPU时间。

我对renice有什么误解吗?或者这是macOS中的一个bug?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-05-18 08:52:45

运行一些基本测试--我也在10.13.4上看到了这一点。

我编写了一个名为looper的小型C程序,它在无限循环中做了一些基本数学:

代码语言:javascript
复制
#include <stdio.h>

int main(){
    unsigned long long prev = 0;
    unsigned long long current = 1;
    unsigned long long total = 0;

    while(1){
        total = current + prev;
        prev = current;
        current = total;
        printf("%llu\n", total);
    }
}

我在我的FreeBSD盒上运行了多个副本,并使用htop(1)对它们进行了检查。使用renice(8),我可以看到尼斯值增加,优先级值增加,CPU百分比下降-预期行为。

我在macOS 10.13.4上运行了相同的程序,并重复了这个过程。虽然我可以看到尼斯值在增加,但优先级值和CPU百分比保持一致。

我想知道这是否是一个bug,我以前没有理由这么仔细地查看macOS中的尼斯值--它的行为已经足够接近我预期的结果了,所以我不愿意进行研究。

如果你有一个开发者帐户,这将是值得报告给苹果。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/442470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档