小编Eri*_*tch的帖子

我应该尝试“平衡”我的线程还是 linux 这样做?

一个简单的例子。我正在运行一个使用 TCP 套接字处理 http 请求的进程。它可能 A) 计算一些意味着 CPU 将成为瓶颈的东西 B) 发送一个可能导致网络成为瓶颈的大文件或 C) 具有半随机访问的复杂数据库查询导致磁盘瓶颈

我是否应该尝试将每个页面/API 调用归类为上述类型中的一种或多种,​​并尝试平衡每种调用的数量?或者操作系统会为我这样做吗?我如何决定我想要多少线程?

我将为硬件线程 12 和 48 使用 2 个数字(英特尔至强有那么多)。我想有 2/3 的线程用于重型 CPU(8/32),1 个线程用于重型磁盘(或每个磁盘 1 个重型线程),其余 3/15 用于其他任何事情,这意味着不要尝试平衡网络。

我是否应该在仅支持 12/48 线程的硬件上拥有超过 12/48 的线程?我想要更少,所以我不会导致 CPU 进入较慢的节流模式(我忘记了它的名字,但我听说如果一次激活太多芯片会发生这种情况)。如果我必须加载和资源平衡我的线程,我会怎么做?

linux scheduling kernel thread linux-kernel

9
推荐指数
1
解决办法
318
查看次数

标签 统计

kernel ×1

linux ×1

linux-kernel ×1

scheduling ×1

thread ×1