判斷Linux進程在哪個CPU核運行的方法


問題:有一個Linux進程運行在多核處理器系統上,如何查看該進程運行在哪個CPU上?

方法一:

ps 命令可以告訴你每個進程/線程目前分配到的(在“PSR”列)CPU ID。

ps -o pid,psr,comm -p <pid>

運行結果:

PID PSR COMM

5357  10  prog

輸出表示進程的 PID 為 5357(名為”prog”)目前在編號為 10的CPU 上運行着。如果該過程沒有被固定,PSR 列會根據內核可能調度該進程到不同CPU而改變顯示。

方法二:

top 命令也可以顯示CPU被分配給哪個進程。首先,在top命令中使用"P"選項。然后,按“F”鍵,顯示中會出現“Last used CPU”列。目前使用的CPU將出現在"P"(或“PSR”)列下。

步驟如下:

1、top -p 3393

2、按下 “F”鍵

3、使用上下鍵選擇P = Last Used Cpu,並按下空格鍵,出現 “*”即可

4、按下“Q”鍵

相比於ps命令,使用top命令的好處是:你可以連續監視隨着時間的改變,CPU是如何分配的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM