我有一個我的服務器中有兩個物理CPU。我看到他們都有8個虛擬處理器與之相關聯。我有幾個查詢。如何找出我的進程ID在哪個物理CPU上運行?
- 如何找到與我的進程相關的作業ID正在哪個CPU上運行?
- 我的工作是CPU廣泛的,它既可以使用CPU和它們的虛擬處理器,也可以使用CPU和虛擬處理器之一運行?
- 如果作業被允許在CPU和它們的虛擬處理器上運行,可能導致性能下降,因爲數據將在它們之間交換。
- 我試圖通過使用mpstat找到與CPU利用率有關的信息,其中「wt」列給出了「讀/寫操作期間CPU的理想時間」,但總是提取我0值。你能建議任何其他命令,通過它我可以監視我的進程ID的CPU利用率?我已經看過頂部,mpstat。從procstat以可讀形式使用和分析統計信息我可以做什麼?
是否有一些文件或鏈接我可以用來知道如何實際使用JNI,因爲我有C++代碼。我也可以強制我的操作系統只使用其中一個物理CPU而不是兩個,如果是的話,那麼該怎麼辦? – Invictus 2012-01-31 17:44:24
在Linux中,您可以使用taskset。 – 2012-01-31 17:47:46
所以給命令taskset -c 0,1,2,3,4,5,6,7然後運行我的工作將確保只有這8個預處理器被使用 – Invictus 2012-01-31 17:55:32