2

私は、実行するために大規模な財務計算に必要なメモリの量を非常に大まかに測定しようとしています。非常にシンプルなコマンドラインツールで、多数の金融商品の価格を設定し、結果を出力します。

プログラムのメモリ要件を表示するためにProcessExplorerを使用することにしました。スクリーンショットでaとbのラベルが付いた2つのフィールドの違いを誰かが親切に説明できますか?

私は現在それを信じています:

「a」(ピークプライベートバイト)というラベルの付いた値は、任意の瞬間にプロセスに割り当てられたメモリ(実際の物理メモリとディスク上の仮想メモリの両方)の最大量です。

「b」(ピールワーキングセット)というラベルの付いた値は、プロセスの存続期間中の任意の時点で割り当てられる物理メモリの最大量です。

代替テキスト

4

2 に答える 2

9

ここから:

ワーキングセットは、プロセス内のスレッドによって最近アクセスされたメモリページのセットです。コンピューターの空きメモリがしきい値を超えている場合、ページは使用されていなくても、プロセスのワーキングセットに残ります。空きメモリがしきい値を下回ると、ページはワーキングセットから削除されます。ページが必要な場合は、メインメモリを離れる前にワーキングセットにソフトフォールトされます。

[プライベートバイトは]このプロセスが割り当てたバイトで、他のプロセスと共有することはできません。

その文脈で「ピーク」が何を意味するかは明白であるはずです。

于 2009-09-17T14:37:02.997 に答える
0

観察からのランダムな考えと、ProcessExplorerの表示の内容。ワーキングセットはディスプレイの[物理メモリ]セクションにあるため、仮想メモリであると言う人は誰でも混乱します。また、RAMの使用量は通常変化するため、奇数で変化するため、ワーキングセットは物理メモリのように見えます。一方、プライベートバイトは仮想メモリとしてリストされます。また、仮想メモリは通常、ランダムビットだけでなくメモリのページをスワップアウトするときに変化するため、変化を監視すると16Kの倍数になります。どういうわけか、これは64 kページになるはずだと思いましたが、マシンとWindowsのバージョンによって異なります。

于 2014-02-03T17:39:47.423 に答える