web-dev-qa-db-ja.com

プロセスモニターとpoolmonでは見えないWindows8.1のメモリリーク

何日も試し、すべてをグーグルで調べ、たくさん試した後、私は無知なままになりました。

私は8GBのRAMを搭載したRazer2013 BladeProを持っています。追加の仮想RAMに30GBを割り当てています。

私のシステムはRAMを食べます、1日後に私は再起動しなければなりません。タスクマネージャーは、常に使用されている8GBのうち7.6〜7.8GBを表示します(しばらくすると)半日後に10GB以上がコミットされたことが表示されます。ページプールと非ページプールはGB未満です。キャッシュされたのはGB未満です。組み合わされたプロセスはGB未満です。

通常、「poolmon」は、ドライバのような他のものがメモリを使用していることを示します。ただし、私の場合、poolmonは余分な使用法を示していません。現在、12GBのディスクスペースと8GBの実メモリが使用されており、何も使用されていません。

だから本質的に私の質問はこれです:
タスクマネージャーもpoolmonもメモリの損失や使用状況を示さない場合、20GBのメモリを使用しているものを見つけるために他に何を試みることができますか?

プールモン-b:

     Memory: 8304828K Avail:  357404K  PageFlts:749759184   InRam Krnl:31464K P:248372K
 Commit:12798116K Limit:32880828K Peak:12958348K            Pool N:168816K P:303892K
 System pool information
 Tag  Type     Allocs            Frees            Diff       Bytes                  Per Alloc

 CM31 Paged     76680 (   0)     49859 (   0)    26821   122609664 (          0)        4571
 wcdl Nonp         43 (   0)         0 (   0)       43    32427744 (          0)      754133
 MmSt Paged    997690 (   0)    989424 (   0)     8266    28019248 (          0)        3389
 rzud Nonp     109134 (   0)     46163 (   0)    62971    15651296 (          0)         248
 CM25 Paged      3295 (   0)         0 (   0)     3295    14479360 (          0)        4394
 MmRe Paged     21218 (   0)     19623 (   0)     1595    14009152 (          0)        8783
 Toke Paged  12315343 (   0)  12310825 (   0)     4518     8803808 (          0)        1948
 ConT Nonp       1585 (   0)      1212 (   0)      373     6365184 (          0)       17064
 BGIK Paged         1 (   0)         0 (   0)        1     6221824 (          0)     6221824
 Thre Nonp     449909 (   0)    447365 (   0)     2544     5244384 (          0)        2061
 Ntff Paged    582079 (   0)    578052 (   0)     4027     5218992 (          0)        1296
 CM16 Paged      9083 (   0)      8010 (   0)     1073     4685824 (          0)        4367
 Irp  Nonp   75321006 (   0)  75307341 (   0)    13665     4645936 (          0)         339
 XENO Nonp        594 (   0)       399 (   0)      195     4317616 (          0)       22141
 ViMm Paged   1873388 (   0)   1862026 (   0)    11362     4057360 (          0)         357
 File Nonp   59994297 (   0)  59983847 (   0)    10450     3492864 (          0)         334

私がここで見る唯一の珍しいことは、高い「pageflts」です。poolmonの最初の1秒後、更新ごとに50kに低下します。私はそれが何かを示していると思います、おそらく何かが異常な速度でメモリを取得しようとしているということです。

更新:私はそれで遊んでいませんでした、解像度を変更しませんでした。 enter image description here

更新:フォトショップがロードされたRammap画像(プロセスメモリに5GB): enter image description hereenter image description here フォトショップが停止した状態のRammap画像(メモリはまだいっぱいであることが示されています): enter image description here

また奇妙なことに、表示されていない18GBのコミットされたメモリを除いて、rammapはプロセスで5GBを表示しますがこれもそうではありません。

P.S.私は何もせずにmalwarebytesルートキットスキャンを実行しました。私が考えることができるのはそれだけです。メモリ使用量またはカーネルルートキットに関するWindowsOSの主要なバグです。

2
John

これは 仮想メモリDirectXの問題 Windows 8で発生します。これは、デスクトップの解像度とは異なる解像度でフルスクリーンでアプリケーション/ゲームを実行した場合に発生します。

ProcessExplorerでこのようなのこぎり波グラフが表示されるはずです。

enter image description here

マイクロソフトは、2014年8月の更新プログラムのロールアップでこのバグの修正をリリースします。そのため、これが修正されるまで、または常にネイティブ解像度でアプリを再生/実行するまで、さらに1か月待つ必要があります。

1
magicandre1981

「procで5GBはそうではない」と言っている理由がわかりません。表示したプロシージャ(2番目の画面スナップ)から、3.1GBが表示されます。そして、プロセスのプライベートワーキングセットは、RAM(残りは共有可能なページ用)の使用だけではありません。メモリを大量に消費するだけで実行しているように見えます。一度に物事を実行します。解決策は、実行するRAMの数を減らすか、RAMをあまり必要としないようにするか、RAMを追加することです。

あなたの高いページフォールト率もその方向を示しています。

コミット済みは「RAM」ではないため、そのテーブルには表示されません。RAMmapは、すべてRAM使用量を考慮します。コミット済みメモリは、仮想アドレス空間の1つのタイプです(他のタイプはとにかく、ユーザースペースは「マップ」および「フリー」です。各プロシージャの一部は「プライベート」列にあり、残りはページファイルにあります。

奇妙に見えることの1つは、8 GB RAM + "追加の仮想RAMに割り当てられた30GB"を報告することです。これは、ページファイルを意味していると思います(そうでなければ、意味がわかりません)。 )。これにより、コミット制限は38 GBになりますが、表示されるのは31.4 GBのみです。ただし、これを修正しても、コミットが不足することはほとんどないため、問題は解決しません。

0
Jamie Hanrahan