1

mmap を使用していくつかの匿名メモリを割り当てる場合、開始アドレスを 0/null に設定することが多いため、mmap は開始アドレスを自動的に判断します。開始アドレスを取得するには、仮想メモリ空​​間全体を調べて、メモリのチャックを割り当てることができる穴を見つけます。これはsys cpuではなくuser cpuとして計算されていると思います。仮想メモリが断片化されている場合、開始アドレスを見つけるためにより多くのユーザー CPU が使用されます。私の理解は正しいです。

4

1 に答える 1

6

これは正しくないと思います。mmap システム コールに費やされた時間は、システム時間としてカウントされます。ただし、アドレス空間の十分な大きさのウィンドウを見つけてマッピングをセットアップする時間は簡単です。

于 2009-05-08T13:15:29.370 に答える