タグ

メモリ管理に関するirasyaのブックマーク (3)

  • checkstack.pl で関数のスタック消費量を調べる - bkブログ

    checkstack.pl で関数のスタック消費量を調べる Linux カーネルのソースコードに付属する checkstack.pl を使うと、C/C++ のプログラムの関数のスタック消費量を調べることができます。checkstack.pl は objdump -d のディスアセンブルの出力からスタックポインタの操作をパターンマッチしてスタックの消費量を計算しています。 入手方法 checkstack.pl は Linux カーネルのソースコードに付属しています。Debian GNU/Linux sarege なら次のようにコマンドラインから実行して取得できます。ソースツリーに含まれる scripts/checkstack.pl が目的のものです。 % apt-get source kernel-source-2.6.8 使い方 checkstack.pl の使い方は簡単です。スタックサイ

  • malloc(3)のメモリ管理構造 VA Linux Systems Japan

    前回、mallocライブラリ内でメモリを管理する器であるアリーナ(arena)の存在について述べました。今回はこのarenaの詳細について説明します。 arenaの管理部分はmalloc_stateという構造体で定義されています。コード上ではmalloc_stateのtypedefであるmstateが良く使われます。他にも処理上で使用される値を格納する情報としてmalloc_par構造体があります。変数名はmp_です。以下に構造体定義を示します。 デフォルトで使用されるarenaの管理部はmain_arenaという変数名で静的に定義されています。プログラムが起動された時点ではarenaはこの一つが存在するだけです。通常はこの一つのarenaで十分です。 また、プログラムが起動時点ではmain_arenaが存在するだけで、メモリプールはまだありません。メモリプールは最初のmalloc()

  • Blog Alpha Networking | 誤解の多いswapについて一問一答

    ◆ メモリに余裕がある状態で、swapが使われることはあるか? 物理メモリに余裕があっても、参照頻度が低い場合はページアウトされ、 その分がbuffersとcachedに利用される。 ◆ 当にメモリが足りないのかどうかを確認するにはどうするか? freeコマンド"free列"、"buffers/cache"行で表示される値に余裕があるかどうかを確かめる。 またvmstatコマンドでsi(swap in)、so(swap out)していないことを確認する。 ただし、参照が低い領域はページアウト、また逆にswapに落ちていても参照される場合は ページインされるので、si、soがまった発生しないわけではない。 ◆ swapが使われるのははいつ、どのタイミングか? OSに依存する。 ◆ swapが開放されるのはいつ、どのタイミングか? ページアウトされたページは、そのページを使っているプロセスが

  • 1