メモリが解放されない?

Anonymous
2013-10-15T16:34:20+00:00

Windows 8に固有の問題かどうかは分かりませんが、教えてください。

基本的にスリープや休止状態を使いシャットダウンはなるべくしないようにして使っているのですが、そうやって何日も使っているとアプリケーションが起動できなくなったり、起動してもダイアログやメニュが正しく表示されなくなったりして困っています。

そういうときにタスクマネージャで見てみると、メモリタブのメモリのコミット済みが異常に大きい値になっています。メモリが足りなくなっているのが、アプリケーションが起動できなくなっている理由ではないかと考えています。Windowsを再起動した直後は、こんなにコミット済みメモリは多くないです。せいぜい2.xGBか3.xGB程度なのですが、数日経過するとウィンドウアプリをすべて閉じてもコミット済みは7.4/8.6GBとかになっています。

もう少し調べてみると、どうも taskhostex.exe と explorer.exeの2つのプロセスがかなりのメモリを「コミット済み」にしていることが分かりました。試しにtaskhostex.exeをタスクマネージャから強制終了するとコミット済みメモリが2~3GBほど、explorerを強制終了すると1~1.5GBほど減ります。これらのプロセスが、メモリを大量に消費しているか、もしかしてメモリを解放しないままになっているのでしょうか?強制終了ではなく、これらのプロセスが使用するメモリ量を制限するか、安全に解放させる方法はありませんか?

また、ProcessExplorerを使用してtaskhostex.exeが提供しているタスクを調べてみると、Microsoft PlaySoundService Class/MsCtfMonitor Task handler/Wininet Cache task objectの3つの機能を提供しているようですが、このいずれかに問題があるのでしょうか?

ちなみにWindows ストアアプリは、まったく使用していません。使っているのは普通のデスクトップアプリばかりです。

この現象はメーカの違う2つのPCで確認しているので、固有の問題というわけではないと考えています。何か原因をご存知でしたら、教えていただきたいと思います。

よろしくお願いします。

(追記)

2台のPCで確認していますが、一方はWindows 8 64bitで、もう一方はWindows 8 Pro 64bitです。

搭載メモリはどちらも8GBです。

よろしくお願いします。

家庭向け Windows | 以前の Windows バージョン | パフォーマンスとシステムの失敗

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

61 件の回答

並べ替え方法: 古い順
  1. Anonymous
    2013-10-16T08:05:56+00:00

    murano さん、こんにちは。

    マイクロソフト コミュニティへの投稿ありがとうございます。

    シャットダウンをせずに PC を長時間使っているとパフォーマンスが悪化し、プログラムを終了してもメモリが解放されないような状況なのですね。

    過去に同じような症状で「こちらのスレッド」があったのですが、このときは Windows 8 に対応していないセキュリティ ソフトが原因のようでした。

    常駐プログラムなどの影響かどうかを切り分けるために PC を「クリーン ブート」起動した場合の動作を確認してみてはいかがでしょう。

    ただ、「何日か使っていると」ということで、なかなか繰り返しの検証などは難しいかもしれませんね。。。

    他に有効な対処や切り分けの方法をご存知の方がいらっしゃいましたら、ぜひ書き込みをお待ちしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2013-10-17T00:24:19+00:00

    近藤さん、アドバイスありがとうございます。

    紹介いただいた類似のスレッドは、おそらく私と同じ症状だと思います。

    しかし、私の方では外部のセキュリティソフトが入れておらず、Windows Defenderのままです。

    taskhostex.exeを終了させるとメモリが大量に解放されることから、Windowsの必須コンポーネントのどれかがメモリを返さないのだと考えているのですが、もしかすると後からインストールされた何かのサービスや常駐物が問題を引き起こしているのかもしれませんね。taskhostexe.exeが提供しているサービスと関係しているものにどういうものがあるのかだけを教えていただくことはできませんか?もしできたら、予め問題箇所を絞り込めるのですが。

    幸い2台で同じ症状が見られることから、この2台に共通してインストールしている「何か」が悪影響をしているのかもしれませんので、一方のPCを使って教えていただいた「クリーンブート」で少しずつサービスを切ったりして問題を絞り込んでいきたい思います。

    症状が出るまでに数日経たないと分からないので、結果が分かるまでしばらくかかりますが、何かわかったら結果報告したいと思います。

    この回答は役に立ちましたか?

    4 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  3. Anonymous
    2013-10-31T04:43:13+00:00

    質問者です。

    教えていただいたクリーンブートを試してみました。

    2台で同じ症状が出ているので、両方に共通して入れているアプリケーションやサービスに原因があるのではないかと考えて、それらのサービスを無効にしてみたり、スタートアップ項目から外してみたり、また共に使っているRAMディスクをアンインストールしてみたりと、いろいろしてみたのですが、やはり現象は出ます。

    先ほども、コミット済みのメモリが9.2GBまで上がってきたので、これを下げるべく、リソースモニターを開いて2つ起動しているexplorer.exeプロセスのうち、ワーキングセットサイズの大きい方だけを「プロセスの終了」してみました。すると、コミット済みメモリが4.2GBも減って、5.0GBにまで落ちました。

    やはり、explorer.exeに問題があるのではないでしょうか?メモリを使うだけ使って、解放しないとか。

    究極的には、OSをインストールしなおして何も追加インストールしない状態で1週間とか使ってみればOS自体の問題かどうかの切り分けはできそうですが、何も入っていないPCを1週間も使えませんし、仕事にも差し支えます。

    explorer.exeの問題と書きましたが、もう少し問題箇所を絞る方法はないのでしょうか?例えば、シェルエクステンションに問題があってメモリを食いつぶしていると仮定するなら、特定の(あるいは全部の)シェルエクステンションを読み込まないで起動するオプションがあるとかの方法です。

    以上、よろしくお願いいたします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. 削除済み

    この回答は当社の行動規範に違反したため削除されました。 アクションを実行する前にこの回答を手動で報告したか、自動検出機能により特定しました。 詳細については、当社の行動規範を参照してください。


    コメントはオフになっています。 詳細情報

  5. Anonymous
    2013-11-08T03:28:40+00:00

    murano さん、こんにちは。

    explorer.exe の終了でメモリが解放されるのですね。

    書かれているようにシェル拡張機能などが影響している可能性がありそうですね。

    さらに原因を絞り込む方法ですが、「Autoruns for Windows」を使ってみてはいかがでしょう。

    「Explorer」タブから読み込むシェル拡張を選択したりなど、クリーン ブートよりもさらに細かい制御が可能なツールです。

    ・@IT - Sysinternalsのautorunsツールで自動起動するプログラムを調査する

    よければ確認してみてくださいね。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません