問題:有一個Linux進程運行在多核處理器系統上,如何查看該進程運行在哪一個CPU上?bash
ps 命令能夠告訴你每一個進程/線程目前分配到的(在「PSR」列)CPU ID。線程
ps -o pid,psr,comm -p <pid>
運行結果:code
PID PSR COMMblog
5357 10 prog進程
輸出表示進程的 PID 爲 5357(名爲」prog」)目前在編號爲 10的CPU 上運行着。若是該過程沒有被固定,PSR 列會根據內核可能調度該進程到不一樣CPU而改變顯示。ast
top 命令也能夠顯示CPU被分配給哪一個進程。首先,在top命令中使用"P"選項。而後,按「F」鍵,顯示中會出現「Last used CPU」列。目前使用的CPU將出如今"P"(或「PSR」)列下。class
步驟以下:sed
一、top -p 3393psr
二、按下 「F」鍵方法
三、使用上下鍵選擇P = Last Used Cpu,並按下空格鍵,出現 「*」便可
四、按下「Q」鍵
相比於ps命令,使用top命令的好處是:你能夠連續監視隨着時間的改變,CPU是如何分配的。