gpt4 book ai didi

c - Pthreads 似乎没有使用多个处理器

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:59:06 26 4
gpt4 key购买 nike

我有一个生成多个子进程的应用程序,然后继续生成多个线程。我可以控制生成的进程和线程的数量。线程对 NAS 执行特定的读/写操作,我记录了这需要多长时间。

奇怪的是,多线程执行读/写操作所花费的时间更长。我在启动应用程序之前和完成时阅读了/proc/stat,并得到了这个(经过一些数学运算):

cpu0: 1.0050% usrtime, 2.5126% systime, 95.4774% idle, 0.5025% softirq
cpu1: 0.0000% usrtime, 0.0000% systime, 100.0000% idle, 0.0000% softirq

我还检查了 sched_getaffinity,两个 CPU 都为子进程启用了。除了产生多个线程之外,还有什么我必须做的才能利用多个内核吗?

最佳答案

您几乎没有使用 CPU。走出网络附加存储,你的瓶颈很可能是你的网络连接。您要推送多少数据以及您的管道(和您的 NAS)可以承受多少带宽?

关于c - Pthreads 似乎没有使用多个处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10289900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com