我很好奇Linux中的CPU顺序是什么。假设我在超线程系统上将一个线程绑定(bind)到cpu0并将另一个线程绑定(bind)到cpu1,它们是否都将位于同一个物理内核上。给定具有4个内核和超线程的Corei7920,/proc/cpuinfo的输出让我认为cpu0和cpu1是不同的物理内核,而cpu0和cpu4在同一个物理内核上。谢谢。 最佳答案 物理cpu/socket被列为physicalid。物理内核列为coreid。由于超线程的处理器条目将获得自己的处理器,但与另一个共享核心ID和物理ID。请注意,每个物理cpu(phys
我很好奇Linux中的CPU顺序是什么。假设我在超线程系统上将一个线程绑定(bind)到cpu0并将另一个线程绑定(bind)到cpu1,它们是否都将位于同一个物理内核上。给定具有4个内核和超线程的Corei7920,/proc/cpuinfo的输出让我认为cpu0和cpu1是不同的物理内核,而cpu0和cpu4在同一个物理内核上。谢谢。 最佳答案 物理cpu/socket被列为physicalid。物理内核列为coreid。由于超线程的处理器条目将获得自己的处理器,但与另一个共享核心ID和物理ID。请注意,每个物理cpu(phys
我想知道我可以运行的最佳线程数。通常,这等于Runtime.getRuntime().availableProcessors()。但是,在支持超线程的CPU上,返回的数字是其两倍。现在,对于某些任务,超线程是好的,但对于其他任务,它什么也没做。就我而言,我怀疑它什么也没做,所以我想知道是否必须将Runtime.getRuntime().availableProcessors()返回的数字一分为二。为此,我必须推断CPU是否是超线程。因此我的问题是——我怎样才能在Java中做到这一点?谢谢。编辑好的,我已经对我的代码进行了基准测试。这是我的环境:LenovoThinkPadW510(即具
我想知道我可以运行的最佳线程数。通常,这等于Runtime.getRuntime().availableProcessors()。但是,在支持超线程的CPU上,返回的数字是其两倍。现在,对于某些任务,超线程是好的,但对于其他任务,它什么也没做。就我而言,我怀疑它什么也没做,所以我想知道是否必须将Runtime.getRuntime().availableProcessors()返回的数字一分为二。为此,我必须推断CPU是否是超线程。因此我的问题是——我怎样才能在Java中做到这一点?谢谢。编辑好的,我已经对我的代码进行了基准测试。这是我的环境:LenovoThinkPadW510(即具