タグ

mallocに関するhiroyukimのブックマーク (6)

  • Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho by BPS株式会社

    要約 メモリ断片化は測定や診断が困難ですが、驚くほど簡単に修正できることもあります。マルチスレッドのCRubyプログラム(mallocのスレッド単位メモリアリーナ)におけるメモリ断片化の原因を追ってみましょう。記事のボリュームは3343語、20分程度です。 単純な設定変更だけで問題を完全に解決できることはめったにありません。 私の顧客のSidekiqプロセスが大量のメモリを消費していたことがありました(1プロセスあたり1 GB程度)。開始当初の各プロセスは300MB程度でしたが、時間の経過とともにじわじわと肥大化してほぼギガバイトレベルにまで達したところで落ち着き始めました。 私は顧客にMALLOC_ARENA_MAXというたった1つの環境変数の変更を依頼しました。「2に設定してください」と。 プロセス再起動後、「じわじわ肥大化」現象はピタリと止みました。プロセスのメモリ使用量は以前の半

    Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho by BPS株式会社
  • Electric Fenceを使ってみる

    $Id: howto-efence.html,v 1.1 2000/07/05 13:43:38 sakane Exp $ %Hd: Electric Fenceを使ってみる 何? 環境変数 マニュアルで推奨されている使い方 その他 o 何? 自分の技術力を越えたプログラム書く時に超便利なツール。 できる事 o バッファ・オーバーラン o バッファ・アンダーラン o 開放した領域を触る o サイズ 0の malloc を見つけることができる。 コンパイル時に libefence.a をリンクする事で malloc(3)や free(3)を置き換える。 欠点は o 激しくメモリを使う。 o プログラム動作が異常に遅くなる。 何はともあれ使ってみる。 #include #include #include int main() { char *c; c = malloc(4); c[3]

  • YAMD

    YAMD is Yet Another Malloc Debugger. It's a package for finding dynamic allocation related bugs in C and C++. It currently runs on Linux/x86 and DJGPP. The current version is 0.32. Download: yamd032.zip (43K) yamd-0.32.tar.gz (35K) Some people have reported problems with do-syms on recent distributions. Here is a version of the do-syms script that claims to fix it, submitted by Alexey Cheusov. Dis

  • jemalloc について調べたのでまとめた - zonomasaの日記

    ※この記事は3回シリーズのうちの一つ jemalloc について調べたのでまとめた - zonomasaの日記 続 jemalloc について調べたのでまとめた(ビルドと組み込み方法) - zonomasaの日記 jemalloc の解析機能 - zonomasaの日記 photo by mutednarayan jemalloc とは jemalloc は、標準ライブラリで定義されているmalloc, free 等のメモリアロケーション APIの実装である。 jemalloc : 公式ページ jemalloc は2005年より、Jason Evans によって開発されており、SMPでのスケーラビリティのためにFreeBSD のlibcに取り込ま標準アロケータとなっている。 その他にも、Facebook の内部や、KVS のRedis、fluentd などにも取り込まれている。 具体的には

    jemalloc について調べたのでまとめた - zonomasaの日記
  • galloc - Gachapin alloc というのを作りました - (ひ)メモ

    Overriding System Functions for Fun and Profit | Hacker Boss をみて自分も試してみたくなったので書きました。 https://github.com/hirose31/galloc malloc(3)するとガチャピンが、free(3)するとムックがSTDERRに報告してくれます。便利!!1 $ make galloc.so $ LD_PRELOAD=./galloc.so ls # or arbitrary command Gachapin .oO(malloc(568) = 0x172e040) Gachapin .oO(malloc(120) = 0x172e280) Mukku .oO(free = 0x172e040) Gachapin .oO(malloc(6) = 0x172e040) Mukku .oO(free =

    galloc - Gachapin alloc というのを作りました - (ひ)メモ
  • 忘れないうちにメモをしろ 2003-08~

    忘れないうちにメモをしろ 2003-08~ プログラミングにまつわることで、思い出したこと、考えたこと、気になること など、ともかく低レベルでもみっともなくても中途半端でいいからメモを取ろう、 と思うページ(忘れてしまって困るのは己なのだ)... ※ ろくにチェックせずにアップしとりますんで、鵜呑みにせず、ソースもバグってるかも で気いつけたってください。 組込向 malloc (有限メモリの管理) 組込向 malloc の改造:ちょっと改造 組込向 malloc の改造:calloc/_msize/realloc 組込向 malloc の改造:best-fit 組込向 malloc の改造:チェックを付加 組込向 malloc の改造:ヘッダサイズとブロックサイズの分離 組込向 malloc の改造:ヒープバッファの片端に寄せる WinCVSの Build ChangeLog で日語.

  • 1