校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 獲知Linux的進程運行在哪個CPU內核上的方法

獲知Linux的進程運行在哪個CPU內核上的方法

熱門標簽:百度地圖標注未成功 中山防封卡電銷卡辦理 常熟外呼系統(tǒng) 地圖上標注點位的圖標 電話機器人服務器部署 拉薩銷售外呼系統(tǒng)軟件 文山外呼營銷系統(tǒng) 江蘇小型外呼系統(tǒng)軟件 電銷語音機器人哪個好

當你在 多核 NUMA 處理器上運行需要較高性能的 HPC(高性能計算)程序或非常消耗網(wǎng)絡資源的程序時,CPU/memory 的親和力是限度其發(fā)揮最大性能的重要因素之一。在同一 NUMA 節(jié)點上調度最相關的進程可以減少緩慢的遠程內存訪問。像英特爾 Sandy Bridge 處理器,該處理器有一個集成的 PCIe 控制器,你可以在同一 NUMA 節(jié)點上調度網(wǎng)絡 I/O 負載(如網(wǎng)卡)來突破 PCI 到 CPU 親和力限制。

作為性能優(yōu)化和故障排除的一部分,你可能想知道特定的進程被調度到哪個 CPU 內核(或 NUMA 節(jié)點)上運行。

這里有幾種方法可以 找出哪個 CPU 內核被調度來運行給定的 Linux 進程或線程。

方法一
如果一個進程使用 taskset 命令明確的被固定(pinned)到 CPU 的特定內核上,你可以使用 taskset 命令找出被固定的 CPU 內核:

復制代碼
代碼如下:

$ taskset -c -p pid>

例如, 如果你對 PID 5357 這個進程有興趣:

復制代碼
代碼如下:

$ taskset -c -p 5357

pid 5357's current affinity list: 5
輸出顯示這個過程被固定在 CPU 內核 5上。

但是,如果你沒有明確固定進程到任何 CPU 內核,你會得到類似下面的親和力列表。

pid 5357's current affinity list: 0-11
輸出表明該進程可能會被安排在從0到11中的任何一個 CPU 內核。在這種情況下,taskset 不能識別該進程當前被分配給哪個 CPU 內核,你應該使用如下所述的方法。

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

復制代碼
代碼如下:

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

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

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

復制代碼
代碼如下:

$ top -p 5357


相比于 ps 命令,使用 top 命令的好處是,你可以連續(xù)監(jiān)視隨著時間的改變, CPU 是如何分配的。

方法四
另一種來檢查一個進程/線程當前使用的是哪個 CPU 內核的方法是使用 htop 命令。

從命令行啟動 htop。按 鍵,進入"Columns",在"Available Columns"下會添加 PROCESSOR。

每個進程當前使用的 CPU ID 將出現(xiàn)在“CPU”列中。

請注意,所有以前使用的命令 taskset,ps 和 top 分配CPU 內核的 IDs 為 0,1,2,...,N-1。然而,htop 分配 CPU 內核 IDs 從 1開始(直到 N)。

標簽:欽州 天門 景德鎮(zhèn) 河南 海北 黔南 鶴壁 威海

巨人網(wǎng)絡通訊聲明:本文標題《獲知Linux的進程運行在哪個CPU內核上的方法》,本文關鍵詞  獲知,Linux,的,進程,運,行在,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《獲知Linux的進程運行在哪個CPU內核上的方法》相關的同類信息!
  • 本頁收集關于獲知Linux的進程運行在哪個CPU內核上的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 林西县| 乌兰浩特市| 洪江市| 崇仁县| 东丽区| 北辰区| 郎溪县| 贵州省| 恩施市| 正蓝旗| 横山县| 黑龙江省| 东光县| 包头市| 沁源县| 永吉县| 仙桃市| 信阳市| 鄂温| 荣成市| 武威市| 廊坊市| 沙河市| 天津市| 咸宁市| 石泉县| 梁河县| 金昌市| 昭平县| 新河县| 盐源县| 栾城县| 宁海县| 沙河市| 浏阳市| 屏南县| 丹巴县| 驻马店市| 安康市| 理塘县| 资中县|