對linux下的服務端程式做profile

2021-07-13 13:15:42 字數 434 閱讀 6650

場景:linux上的伺服器,功能碼寫在so裡,服務端應用通過dlopen動態載入,服務端是多執行緒的,測試伺服器是虛擬機器

gprofile:預設不支援多執行緒,排除

oprofile:對虛擬機器支援不好,不支援計數器介面,但是用時間取樣,結果不准

gperf:google的profile工具,也不好用

callgrind:valgrind的工具之一,剛好可以滿足需求,valgrind --tool=callgrind --separate-threads=yes 加命令引數。用ctrl-c停止後,會生成一大堆檔名包含程序id和執行緒id的callgrind檔案。這些檔案很難看,在source forge 上有

kcachegrind

for 

windows,可以看到函式呼叫關係和呼叫次數。

要找到關注的函式在哪個檔案,可以用grep命令

Linux下安裝SVN服務端

使用yum安裝非常簡單 yum install subversion我們這裡在 home下建立乙個名為svn的倉庫 repository 以後所有 都放在這個下面,建立成功後在svn下面多了幾個資料夾。root localhost cd home root localhost home mkdir ...

Linux下安裝SVN服務端

安裝 使用yum安裝非常簡單 yum install subversion 配置2.1.建立倉庫 我們這裡在 home下建立乙個名為svn的倉庫 repository 以後所有 都放在這個下面,建立成功後在svn下面多了幾個資料夾。root localhost cd home root localh...

Linux下搭建svn服務端

使用yum安裝非常簡單 yum y install subversion 壓縮包安裝比這麻煩的多 tortoise本是window下客戶端工具,但也可以建倉庫,作為服務端。linux只有subversion和virtual svn,並沒有視覺化客戶端。我們這裡在 home下建立乙個名為svn的倉庫 ...