最近foobar2000とかChromeを使ってるとメモリ不足ですという警告がでてアプリを終了させられそうになることがある。
タスクマネージャーでメモリ消費量を見ても空き容量は30%近くある。
しかもそれを無視してると画面が乱れて強制シャットダウン
どうもおかしいとイベントビューアで見てみると仮想メモリ不足が原因らしい。 ただ、変なアプリ裏でがメモリを消費しているのではなく、エラーが発生したときに使用していたChromeやfoobar2000のみ。
ネットで見てみるとWindowsの検索機能に使われるインデックス付がメモリを消費することがあると書いてあったけど、そのようなプログラムは警告内容に書かれていないため、どうも今回は違うみたい。
で、仮想メモリがおかしくなってるのでないかと設定を見てみた
仮想メモリの設定方法
「Windowsキー+R」をおして「systempropertiesadvanced」を入力すると「システムのプロパティ→詳細設定」が開きます。
その中の「パフォーマンス」の設定を選択して、その中の「詳細設定」タブを選択すると、「仮想メモリ」の欄が出てくるので、変更を選択します。
すると現在仮想メモリの割り当てられているドライブが表示されます。
ここで、Cドライブ以外に割り当てられていると変な挙動をするようです。なので、もしCドライブ以外に仮想メモリが割り当てられている場合はCドライブに仮想メモリを割り当てます。
仮想メモリ割当の手順
- 「すべてのドライブのページングファイルのサイズを自動的に管理する」のチェックを外す
- Cドライブを選択してカスタムサイズもしくはシステム管理サイズを選択する(自分はめんどくさいのでシステム管理サイズにしています)
- 変更ボタンを選択 OKボタンを選択して設定完了
*もし他のドライブに仮想メモリが割り当てられている場合はそのドライブを選択して「ページングファイルなし」を選択しましょう。そうすれば仮想メモリはCドライブのみに割り当てられます。
半日程度エラーは発生していない
とりあえず半日経過してエラーは発生していないので、これで解決かと思う。
また現象が発生するようなら記事に追記します。