我正在使用 jruby 和 Debian wheezy x64。当我运行一个多线程 ruby 脚本时,htop 显示它正在使用多个核心,顶部的条形图,并且它在进程列表中使用了 200% 的 CPU,但它只使用了两个核心容量的 100%。我认为有可能有更多的内核以 100% 的速度运行,而且这个数字似乎太方便了,不会被程序逻辑或其他硬件方面限制。操作系统是否限制了我正在使用的可用指令的数量,如果是,我该如何停止?
当我的意思是在视觉上使用多个核心时,例如:98% 核心 1、58% 核心 2 和 44% 核心 3。这些百分比不断上下变化并转移到不同的核心集,但总加起来总是 198%-200 %。正在使用超过 3(/8 个)核心,但除了三个最重负荷的核心之外的任何核心仅使用 2% 或更少的容量。我想我还应该提到这是一个 linode VPS。
我试过使用taskset,它已经设置为0-7的cpu掩码。
而且看起来好像一次只能运行 3 个线程,数字在 1 到 3 之间跳跃,有时在很短的时间内 4。