google-perftools

    1熱度

    1回答

    temp__雖然剖析我們的一些Ruby代碼perftools.rb的顯示輸出如下: Total: 291 samples 110 37.8% 37.8% 112 38.5% #<Module:0x007ff364e2bfd0>#__temp__ 19 6.5% 44.3% 19 6.5% BigDecimal#div

    3熱度

    1回答

    在努力加快我的測試套件我型材,並得到以下 Total: 1445 samples 650 45.0% 45.0% 1171 81.0% Kernel#require 261 18.1% 63.0% 261 18.1% garbage_collector 47 3.3% 66.3% 168 11.6% Kernel.load 39 2.7% 69.0%

    9熱度

    2回答

    gperftools documentation說libprofiler應該被鏈接到一個目標程序: $ gcc myprogram.c -lprofiler (不改變程序的代碼)。 然後程序應該與特定的環境變量來運行: CPUPROFILE=/tmp/profiler_output ./a.out 的問題是:如何libprofile有機會開始和結束時,它僅僅是加載一個分析器,但它的功能不叫

    7熱度

    2回答

    如何在Go程序中使用pprof? 有一個圍棋包命名net/http/pprof,但我不能使用它。 該文件說go tool pprof http://localhost:6060/debug/pprof/heap,這是行不通的。 而且,下面的_是什麼意思? import _ "net/http/pprof"

    0熱度

    2回答

    有沒有辦法避免谷歌性能工具列出文件爲「??:?」,即無法找到哪個文件包含它報告的功能?如何確定哪個庫包含被調用的函數? $ env LD_PRELOAD="/usr/lib/libprofiler.so.0" \ CPUPROFILE=output.prof python script.py $ google-pprof --text --files /usr/bin/python o

    0熱度

    1回答

    我有一個服務器上的進程。我的進程使用共享庫,運行在linux後臺。我在gperftool中使用CPU分析器來檢查函數。的步驟是以下: 1.在我的應用程序, main() { ProfilerStart("dump.txt"); ...code.. ProfilerFlush(); ProfilerStop(); return 0; } 2. CPU

    7熱度

    2回答

    根據該文件,http://gperftools.googlecode.com/svn/trunk/doc/cpuprofile.html,在CPU配置文件不支持多進程,並將生成獨立的輸出文件: 如果你的程序叉,孩子們也將異型(因爲他們 繼承相同CPUPROFILE設置) 。每個進程分別配置爲 ;爲了將子配置文件與父配置文件 以及彼此區分,所有的子配置都將其進程ID附加 爲CPUPROFILE名稱。

    6熱度

    1回答

    我有一個多線程服務器進程,用C/C++編寫,我試圖用Google perftools進行配置。但是,當我使用perftools運行這個進程時,很快我的服務器停止了「系統調用中斷」錯誤,我認爲這是由傳入的SIGPROF引起的。 (正在中斷的實際系統調用在我呼叫zmq_recv的深處,但我認爲它並不重要。) 這是預期的行爲嗎?我應該以某種方式明確處理這個案件嗎?或者這裏出了問題?

    0熱度

    1回答

    我正在使用google-perftools的tcmalloc_minimal作爲我的C++程序中的默認內存分配器。它打印出以下信息: src/system-alloc.cc:427] SbrkSysAllocator failed 程序繼續運行。有關係嗎?

    5熱度

    1回答

    我正在尋找gperftools如何工作的簡單解釋。到目前爲止,這是我所學到的: 它運行一個世界停止採樣器。換句話說,它會定期停止正在分析收集信息的程序。 Golang的pprof庫使用下面的gperftools。 除了總體概述,下面是我想回答一些具體的問題: 是gperftools的 「event based profiler」 或 「instrumentation profiler」。據我所知,