linux中查看進程在哪個cpu上運行

為了提升性能,目前所有伺服器都是多核,為了更進一步提升性能,我們應該在系統中關注cpu的親和性。親和性簡單來說是指進程是否受某cpu核心的「待見」,也就是說,某個進程是否能永遠在某一個cpu上運行,而不被該cpu核心「嫌棄」,去丟給其它cpu核心。

linux中如何查看進程在哪個cpu上運行呢

有兩種方法:

1 ps命令的psr欄位

比如查看shell運行在哪個cpu上,如下圖所示。

2 查看proc/pid/stat文件

在proc目錄中進程的stat文件中,第39個欄位即是。

如下圖所示:

為方便查看,我直接用awk腳本直接輸出第39個欄位,您看,shell是在不同的cpu之間輪換,並不是只在1個cpu上運行。

Advertisements

其實ps命令就是讀/proc/pid/stat。

第39個欄位是指processor,即查看時進程是在哪個cpu上執行。可見下面手冊

歐啦。

Advertisements

你可能會喜歡