假设在一台能够处理n
并发线程的计算机上,希望启动n-m
单线程作业,其中m
是当前使用的线程数。如何m
定义以及通过什么方式确定其价值?例如,在一个非共享系统上,有两个插槽包含具有 SMT 的四核处理器,并且除了系统通常在后台运行的进程之外没有活动进程,用户可以启动 16 个单线程进程,而不必过多担心进程干扰(缓存)错过等)。是否可以简单地考虑每个用户拥有的进程的线程数?鉴于处理器可以快速更改线程,我认为确定将涉及更多内容。通过考虑虚拟核心总数和估计的总体 CPU 使用率是否可以更好地做出决定?