歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

linux下的性能查詢命令

(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)

Copyright © Linux教程網 All Rights Reserved