1. 程式人生 > >strace - 檢視程式中最多的函式呼叫

strace - 檢視程式中最多的函式呼叫

關於strace的簡介不在贅述。

sudo strace -T -ttp 2838 -c  獲取系統呼叫情況

從下圖可以看出pwrite(隨機寫入)佔比87%

#接著檢視詳細的strace內容
sudo strace -T -ttp 2838 -o ~/2838_s1.log 
#也可以使用sudo strace -T -e pwrite -ttp 2838 -o ~/2838_s1.log 只跟蹤pwrite呼叫

pwrite函式的用法如下 返回值:成功,返回寫入到檔案中的位元組數;失敗,返回-1; 引數: (1) fd:要寫入資料的檔案描述符 (2) buf:資料快取區指標,存放要寫入檔案中的資料 (3) count:寫入檔案中的資料的位元組數 (4) offset:偏移地址 
lsof -p 2838
#使用lsof -p 2838 可以看到檔案描述符7w對應的檔名,正在對該檔案進行寫入。

 

綜合 strace 可以看出,pwrite基本上都是對xxx.ts檔案的隨機寫入,佔用的資源是最多的

檔案描述符 http://www.cnblogs.com/aaronax/p/5654652.html pwrite 系統呼叫的用法 https://baike.baidu.com/item/pwrite