手抜きOS Windows 10 Part163 / メモリが足りなくなると突然画面が死ぬ件
Windows 10で急に電源が落ちたり、画面表示が更新されなくなったり、真っ黒なまま表示が全く行われなくなったりすることがあったのでイベントログを漁ってみたところ…。
<Provider Name="Microsoft-Windows-Resource-Exhaustion-Detector" Guid="{9988748e-c2e8-4054-85f6-0c3e1cad2470}" />
<EventID>2004</EventID>
<Version>0</Version>
<Level>3</Level>
<Task>3</Task>
<Opcode>33</Opcode>
<Keywords>0x8000000020000000</Keywords>
<TimeCreated SystemTime="2020-03-11T07:33:44.473435900Z" />
<EventRecordID>123421</EventRecordID>
<Correlation ActivityID="{cad33f0c-db82-4fcb-a39a-6933afb4a2c7}" />
<Execution ProcessID="18532" ThreadID="2040" />
<Channel>System</Channel>
|
どうもこの2004イベントが関与してるらしい
Windows は仮想メモリの不足状態を診断しました。仮想メモリを多く消費したのは次のプログラムです: firefox.exe (26008) は 711987200 バイトを消費し、firefox.exe (20212) は 552374272 バイトを消費し、Teams.exe (12980) は 484343808 バイトを消費しました。 |
Windows は仮想メモリの不足状態を診断しました。仮想メモリを多く消費したのは次のプログラムです: Procmon64.exe (12764) は 4429000704 バイトを消費し、MsMpEng.exe (5308) は 592093184 バイトを消費し、Teams.exe (17416) は 434753536 バイトを消費しました。 |
いずれの場合も上位3アプリのメモリ使用量が、1G 超えたときに発生している。
そもそも、メモリ 8G 搭載してるのにメモリ不足になるのかっていうのがあるんですが、
タスクマネージャーで見てみたところ、メインメモリの残量が1Gを切っていた。
Windows 2000の時はメモリが足りなくなると、新規にユーザーオブジェクトが作成できなくなり、アプリが落ちたり、アプリのGUIの更新ができなくなったりする。が…メモリが再確保できると復活する。
ところが、Windows 10の場合は、一旦メモリ不足に陥ると、ウインドウが透明になり、プレビューも真っ黒になる。スクショをとっても真っ黒になる。
ブラウザで記事を書いてる最中や、Office アプリで編集中にこの状況になってしまうとかなり困る。
Office アプリの場合は、終了しようとすると保存するのか聞いてくるからよいとして、ブラウザの場合は、うかつに終了することができない。
ではどうすればいいか。
最近のブラウザはプロセス単位で動いていて、タブごとWindowを移動できることを利用する。
・不具合発生
・終了できるアプリを終了させてメモリを確保する。
・最大化は解除して、Alt+Spaceを押して、タブがどのあたりにあるか推測する。
・マウスカーソルを移動すると、ToolTipでそのタブの情報が表示される。
・「x」をクリックしないように、タブがある位置をつかんで、Windowの外に投げる。
・すると新しい窓が生成され、そこに投げたタブが表示される。
・作業を保存したり、完了させたりして、その窓は閉じる
・ほかのタブでも繰り返す。
こんな感じ。
なお、メモリを確保した後に、Windows + Ctrl + Shift + B でグラフィックドライバのリセットをしたり、ユーザースイッチしたりしても復活しなかった
メモリ不足が、軽度の場合は、Window本体のメニューバーとかは残ったまま、アプリの中身だけ更新不能になることもあります。
仮想メモリが大量のディスクを使って、空き容量が少なくなってくると、警告もなしに症状が発生する。(警告があることもある)
多分、メモリ不足で警告が必ず出るのが本来の正しい動作だと思うのだが、
警告が全く出ずに、いきなり障害に突入することがあるのが Windows 10 の欠陥なのではないかと思う。
Comments