所以我正在运行一个在我的i7笔记本电脑上没有并行化的cpu密集型任务。
KSysGuard报告说我使用了12.5%的可用CPU。
如果我禁用超线程,我可能会获得有意义的性能提升?它需要刷新一个新的BIOS,所以在我过分参与这个想法之前我想要一个意见......
谢谢,
N
答案 0 :(得分:5)
您的任务是使用所有单核,而不是12.5%。 12.5%是1/8 - 你的超线程四核处理器拥有的八个硬件线程之一。如果禁用超线程,则只有四个硬件线程,因此您的工具将报告25%的使用率 - 但您的任务将无法完成任务。
如果您想使用更多处理器,请尝试并行化工作。
答案 1 :(得分:0)
我认为超线程的工作原理是,当运行单个线程时,核心管道中的可用阶段平均只有一半在使用。 HT尝试“交织”两个线程以提高CPU利用率。
这意味着两个线程中的每个线程都可以运行得慢,因为它们必须彼此等待,同时提高了给定内核的总吞吐量。但是,如果你不在负载下运行,我会说“花生画廊”不太可能安排在繁忙的核心而不是没有做任何事情的核心
(当然,这是现代CISC的表现,很难根据理论分析说出任何确定性。)