簡體   English   中英

對從遠程機器收集的數據運行 pprof?

[英]Run pprof on data collected from remote machine?

我有一個在遠程無頭機器(即沒有 X 服務器)上運行的程序,它有 memory 泄漏。 我能夠安裝 gperftools 並運行發現泄漏的堆檢查器。

我的問題是由於需要所有圖形庫,我無法在遠程機器上安裝 pprof,因此我將 generate.heap 文件復制到另一台安裝了 pprof 的機器上。 這台機器也有與 rmote 機器相同的庫。

我嘗試運行堆檢查器建議的 pprof 命令,但使用 --text 而不是 --gv

$ pprof <my_bin> <heap_file> --inuse_objects --lines --heapcheck --text

但它抱怨 curl 命令失敗

Using local file <my_bin>.    
Use of uninitialized value $host in substitution (s///) at
/usr/bin/pprof line 3195. Use of uninitialized value $hostport in
concatenation (.) or string at /usr/bin/pprof line 3197. Use of
uninitialized value $prefix in concatenation (.) or string at
/usr/bin/pprof line 3197. Use of uninitialized value $host in
substitution (s///) at /usr/bin/pprof line 3195. Use of uninitialized
value $hostport in concatenation (.) or string at /usr/bin/pprof line
3197. Use of uninitialized value $prefix in concatenation (.) or string at /usr/bin/pprof line 3197. Use of uninitialized value $host
in sprintf at /usr/bin/pprof line 3364. Gathering CPU profile from
http:///pprof/profile?seconds=30 for 30 seconds to  
/home/developer/pprof/<my_bin>.1640195244. Be patient...
curl: (6) Couldn't resolve host 'http' Failed to get profile: curl
'http:///pprof/profile?seconds=30' >
/home/developer/pprof/.tmp.<my_bin>.1640195244.: No such
file or directory

所以我的問題是:我正在嘗試的東西是否可能? 我應該使用不同的 pprof 命令嗎? curl 命令是關於什么的?

謝謝,

只需使用 pprof 的 go 版本。 在這種情況下,我懷疑會發生什么是 arg 解析最后並不真正支持標志(我懷疑 go 也有這個錯誤)。 絕對支持這種使用二進制和 pprof 文件進行 pprofing 的用例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM