tft每日頭條

 > 職場

 > cpu如何查看自己是不是4核8線程

cpu如何查看自己是不是4核8線程

職場 更新时间:2024-10-06 01:42:16

  在一個内部的郵件列表裡,有人問了這樣一個問題:為什麼我這4核CPU的電腦上,看起來隻有一個核在工作,其他三個核好像都處于空閑狀态?如果使用任務管理器設置每個進程的親緣性(Affinity)設置為4核,則電腦應該會運行的更快,這是理所當然的。

  這個時候,我會開始一項所謂的”思想調試”,也許你也可以。第一個提示:我的直覺告訴我,資源管理器(Explorer)将它的親緣性設置成隻使用一個核。第二個提示:進程的親緣性被其子進程所繼承。

  下面是我對此問題的預測:1. 資源管理器将線程親緣性設置單核。2. 因為你預覽了一個MPG視頻文件。3. MPG的解碼器在其DLL_PROCESS_ATTACH中調用了SetProcessAffinityMask。4. 因為解碼器的作者無法修複多處理器下的Bug。5. 因此,他簡單地将進程親緣性設置為1,從而”修複”了這個Bug。

  雖然我的第一個預測是正确的,但其他幾個都預測錯了。雖然如此,開發團隊走在了正确的路上,并成功地引導了進一步的問題研究。

  真正的問題原因 有一個第三方外殼擴展,由于它的作者無法解決擴展在多處理器運行場景下的Bug,于是他決定,使用SetProcessAffinityMask來将當前進程(也即資源管理器進程)鎖定到一個單一的處理器核心上。”Woo-hoo,我們一次性解決了所有多處理器Bug,可以出去慶祝慶祝了。”因為進程的親緣性是可以繼承的,這導緻了所有被資源管理器所啟動的進程都繼承了此屬性,也即它們隻會在一個核上運行,即使當前機器配備了一個強大且昂貴的4核CPU。

  (後記,我們聯系了這家開發外殼擴展的公司,他們聲稱這個問題已經在其最新的版本中得到了修複。)

  總結 大多數情況下,你不需要設置親緣性,使用系統默認的設定就好。在極少數情況下,當确實需要設置時,記得:你的進程的所有子進程都會繼承這個設置。

  最後 Raymond Chen的《The Old New Thing》是我非常喜歡的博客之一,裡面有很多關于Windows的小知識,對于廣大Windows平台開發者來說,确實十分有幫助。本文來自:《Psychic debugging: Why your expensive four-processor machine is ignoring three of its processors》

  cpu如何查看自己是不是4核8線程(為什麼4核CPU上隻有一個核在工作)(1)

  ,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关職場资讯推荐

热门職場资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved