linux下的效能查詢命令

來源:互聯網
上載者:User

(1)查看各個CPU核的使用方式

sudo top -d 1

進入之後,按1,會出現下面的CPU使用方式,其中us列反映了各個CPU核的使用方式,百分比大說明該核在進行緊張的任務。



(2)查看哪個進程在哪個CPU核上運行

sudo top -d 1

進入之後,依次按f、j和空格,會出現如下(其中P列指示的是該進程最近使用的CPU核,如進程mencoder的P列為7,則表示mencoder最近在核7上運行,對於多線程甚至單線程的進程,在不同時刻會使用不同的CPU Core):



(3)vmstat查看整體的CPU使用方式

sudo vmstat 2 3

參數2表示每個2秒顯示一下結果,3表示顯示結果的數目。



cs列表示每秒環境切換次數,us表示使用者CPU時間。


(4)Intel工具powertop

sudo powertop

會顯示各個CPU核的使用百分比。


(5)gprof分析一個程式

假設程式源檔案為speedup-example.cpp

gcc speedup-example.cpp -o speedup-example -pg(注意-pg)

執行程式./speedup-example,會在目前的目錄產生gmon.out,這個檔案是我們查看程式運行情況的來源,接下來用gprof命令查看它:

gprof -b speedup-example gmon.out > Results.txt

這樣這個程式的運行資訊就在Results.txt中了。



(6)pidstat即時查看一個進程的CPU使用方式及環境切換情況

首先安裝

sudo apt-get install sysstat

接下來使用pidstat(下面的-p是與進程號連用,用於顯示特定進程的效能資訊,之後還可以指定每隔幾秒顯示,一共顯示幾條):

  • pidstat 5 -p 15488(你要追蹤的進程的pid)

這樣就能即時顯示15488進程的CPU使用方式:



  • pidstat -w —— 顯示每個進程的環境切換情況
pidstat -w -p 15488 2 —— 每隔2秒顯示15488進程的環境切換情況:

cswch/s —— 每秒該進程產生的voluntary context switches總數。voluntary context switches出現在訪問一個已經被佔用的資源,從而不得不掛起(即我們通常說的Synchronization Context Switches)
nvcswch/s —— 每秒該進程產生的involuntary context switches總數。involuntary  context switches發生在自己的時間片用完或被更高的優先順序搶佔(包含Preemption Context Switches)


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.