問題タブ [tcmalloc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - TCMalloc メモリ リークのデバッグ
tcmalloc を使用してアプリケーションをコンパイルし、HEAPPROFILE 環境変数を使用してヒープ ファイルを取得しました。
約 10MB ごとに新しいヒープ ファイルが作成され、tcmalloc ページによると、pprof ツールを使用してヒープ ファイルを比較し、追加の解放されていないオブジェクト (リークの可能性) を確認できます。
結果: ... 合計: 4600.7 MB
0x00000000009f1d25 は適切なアドレスですが、このデータをどうすることもできません。
helloworld アプリケーションで同じことを実行しようとしました
ここでは、すべての関数に明確な名前が付けられており、リークが BigNumber コンストラクターからのものであることがはっきりとわかります。
上記のアドレスの意味を理解するための正しい方向に誰かが私を向けることができますか?
c++ - TCMalloc - ポインターの割り当てサイズを取得する
TCMalloc の使用 - ヒープに割り当てられたオブジェクトが与えられた場合、オブジェクトの割り当てられたサイズ (malloc 呼び出しで渡されたサイズのみを意味する) を取得する方法はありますか? 「信頼できる」方法を求めています (つまり、割り当てサイズがポインターの前に格納されていると仮定して、ワードサイズを戻さない)
gcc - tcmalloc は、aligned_alloc をオーバーライドしませんか?
2.7 をドロップインしましたtcmalloc
が、何らかの理由で、aligned_alloc を呼び出す新しいものはまだ glibc に移行しています。コンパイラ オプションに以下を追加しましたが-fno-builtin-memalign -fno-builtin-aligned_alloc -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -nostdlib
、目に見える効果はありません。
Ubuntu 18.04、ストック GCC、tcmalloc 2.7
私は何か間違ったことをしていますか?
EDIT001: 何らかの理由でGCC
フラグ-flto=8
がこの動作を引き起こしていました。最初は--gc-sections
シンボルの混乱を疑っていましたが、それが間違っていることが証明され、どういうわけか-flto
違いがありました。
誰かが理由を知っている場合は、ここで説明してください。