web-dev-qa-db-ja.com

「使用可能なバイト数」が多い場合、「使用中のコミット済みバイト数」は高くなります。

Windowsコンピュータのメモリ不足メッセージが表示され続けるので、パフォーマンスモニターを使用してメモリの状態を確認しました。結果は次のとおりです。

  • コミット制限:25,758,334,976(バイト)
  • コミットされたバイト数:23,730,569,976(バイト)
  • 使用中のコミット済みバイト数:92%
  • 使用可能なバイト数:9,843,258,114(バイト)

*コンピュータの物理メモリは24GBです。

「使用可能なバイト」がたくさんあるのに、「使用中のコミット済みバイト」が非常に高い理由を誰かが説明できますか?


編集:

プロセス "mysqld.exe"が非常に奇妙であることがわかりました。そのプライベートワーキングセットは1,074,508Kですが、コミットサイズは8,437,172Kです。

EDIT2:

コンピュータのページファイルサイズは0MBです

1
YantingChen

「コミットサイズ」は、プロセスがオペレーティングシステムに要求し、使用許可を得たバックアップ仮想メモリの量です。 「プライベートワーキングセット」は、プロセスが実際に使用している物理メモリ(RAM)の量です。

コミットサイズがプライベートワーキングセットよりも大きい場合、それはプロセスが要求したほど多くのメモリを使用していないことを意味します。これは完全に正常です。

コミットサイズが使用可能なバッキングストアに近いため、メモリ不足の警告が表示されます。これは、最も一般的には不十分なバッキングストアが原因で発生し、最近使用したクリーンページをメモリから強制的に排出して、システムのパフォーマンスを低下させます。この問題の最も簡単な解決策は、ページファイルのサイズを大きくしてバッキングストアを追加することです。

システムは、パフォーマンス上の大きなメリットを提供し、メモリ不足の問題を解決するために、実際にページファイルを使用する必要はありません。ページングファイルスペースを使用できるようにするだけで、使用されない場合でも、システムがアプリケーションに約束できることや、物理メモリに保持する必要のあるページの柔軟性が大幅に向上します。

1
David Schwartz