本篇內容主要講解“怎么獲知Linux的進程運行在哪個CPU內核上”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么獲知Linux的進程運行在哪個CPU內核上”吧!
創新互聯服務項目包括織金網站建設、織金網站制作、織金網頁制作以及織金網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,織金網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到織金省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!這里有幾種方法可以 找出哪個 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 列會根據內核可能調度該進程到不同內核而改變顯示。
方法三
top 命令也可以顯示 CPU 被分配給哪個進程。首先,在top 命令中使用“P”選項。然后按“f”鍵,顯示中會出現 "Last used CPU" 列。目前使用的 CPU 內核將出現在 “P”(或“PSR”)列下。
代碼如下:
$ top -p 5357
相比于 ps 命令,使用 top 命令的好處是,你可以連續監視隨著時間的改變, CPU 是如何分配的。
方法四
另一種來檢查一個進程/線程當前使用的是哪個 CPU 內核的方法是使用 htop 命令。
從命令行啟動 htop。按 鍵,進入"Columns",在"Available Columns"下會添加 PROCESSOR。
每個進程當前使用的 CPU ID 將出現在“CPU”列中。
請注意,所有以前使用的命令 taskset,ps 和 top 分配CPU 內核的 IDs 為 0,1,2,...,N-1。然而,htop 分配 CPU 內核 IDs 從 1開始(直到 N)。
到此,相信大家對“怎么獲知Linux的進程運行在哪個CPU內核上”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯建站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
網站名稱:怎么獲知Linux的進程運行在哪個CPU內核上-創新互聯
瀏覽地址:http://vcdvsql.cn/article40/ceseho.html
成都網站建設公司_創新互聯,為您提供商城網站、外貿網站建設、云服務器、外貿建站、服務器托管、網站內鏈
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯