タグ

unixとメモリに関するchagoのブックマーク (2)

  • メモリリーク調査方法(Linux編)

    まずはLinuxの環境変数の設定から... $> export MALLOC_TRACE="log file name" 次にソースコードの編集 ◆ ヘッダのインクルード #include <mcheck.h> 次にソースにメモリチェックする部分に以下のコードを追加 mtrace();←メモリチェック開始 muntrace();←メモリチェック終了 ◆ 実行 以下のようなコードを実行する int main () { mtrace(); char* test = new char[10]; test = new char[10]; delete[] test; Test t = new Test (); muntrace(); } ◆ 結果 これを実行すると以下のようなログが指定したログファイルに 記述されます。(実際には値などは違います) = Start @ /usr

  • fork - Wikipedia

    fork(フォーク)とは、プロセスのコピーを生成するものである。UNIXおよびUnix系OSではシステムコールのひとつで、新たに作り出されたプロセスを子プロセス、fork()を呼び出したプロセスを親プロセスと呼び、fork()システムコールの戻り値によって親と子の処理を区別する。子プロセスではfork()の戻り値は0であり、親プロセスの戻り値は新たに生成された子プロセスのプロセス識別子、エラーが起きた場合は-1である。また、マルチスレッド環境でスレッドのコピーを作ることもforkと呼ぶことがある。 forkが呼び出されると、子プロセスのためのアドレス空間が新たに作成される。子プロセスのアドレス空間には親プロセスが持っていた全セグメントのコピーがあるが、コピーオンライト機能によって実際の物理メモリの確保は遅延される(すなわち、一時的に同じ物理メモリセグメント群を親子で共有する)。親プロセスと

  • 1