1

ユーザープロセスID()を入力として受け入れPID、スタック、ヒープセグメントなど、そのユーザープロセスのすべてのアドレス空間をダンプするカーネルモジュールを作成しています。

ユーザープロセスが33ページを使用していなくてもmm->start_brkmm->brkヒープサイズが33ページ(mm->brk- mm->start_brk)として表示されます。(これは を使用して確認し/proc/pid/mapsました)。スタックも同様に動作します。

実際に使用されているヒープを見つける方法はありますか?使用されているmm->start_brkヒープのみをダンプできます。

4

1 に答える 1

2

プロセスは、brkおよび を使用してメモリを割り当てることができmmapます。後者はヒープを変更しませんが、個別に割り当てます。

mm->mmapによって作成されたマッピングのリンク リストですmmap

于 2012-05-15T07:11:22.720 に答える