メモリが解放されない?

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. 削除済み

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


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

  2. Anonymous
    2014-11-21T05:02:52+00:00

    Bblue_shadowさんへ

    情報ありがとうございます。

    SNPのことについては知りませんでした。ありがとうございました。

    RSSはデフォルトで有効になっているようですね。手元のWin8は2台とも有効になっていました(そして、2台ともコミット済みメモリが増える現象が出ています)。

    ネットで調べる限りでは、SNPの不具合(?)が原因でメモリリークのような問題が出るという情報が散見されますが、どうもその一次情報というか、技術的な裏付けが見つけられず、単にそういう情報だけがひとり歩きしているように感じられました(別にMicrosoftを庇っているわけではありません)。

    とはいえ、ダメ元でRSSを無効にした状態で、しばらく様子を見てみました。結果は変わらず、やはりコミット済みメモリが次第に増えていきます。

    この迷宮はかなり深そうです。

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

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  3. 削除済み

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


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

  4. Anonymous
    2014-12-16T15:35:34+00:00

    taskhostex.exeを強制終了するとコミット済みが凄まじい勢いで消え(5日ほど起動していたら10GB)、思わず笑顔になりました。

    復活方わからないのでメモリ不足時の応急処置止まりになりそうですが、私にはとても役に立つ情報でした。

    このプロセスを親にしている子アプリケーションのメモリが、子の終了後も親に予約されたままになっている、ということなのでしょうかね。

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

    2 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  5. Anonymous
    2014-12-17T03:02:55+00:00

    taskhostex.exeを終了させると、その後の動作に影響が出ませんか?

    例えば、それ以降に新しく開いたアプリでは日本語入力ができなくなってしまうはずです。

    なので、私はこのプロセスを殺すくらいなら、再起動してしまいます。

    taskhostex.exeは、

    • 音声再生関係のサービス
    • Wininetのキャッシュサービス
    • 言語バーのサービス

    の3つを司っているようです。よって、この3つの機能に何らかの影響が出ます。

    私はこのうちの「Wininetのキャッシュサービス」に問題があるのではないかと勘ぐっています。なんとなくですが、WEBブラウジングを続けていると、コミット済メモリが増えていくような気がしていますから。

    一度終了したtaskhostex.exeの再起動方法は分かりません。

    親プロセスからsvchost.exe -k netsvcsで起動されているらしいことまでは分かっているのですが、それを実行してもtaskhostex.exeは起動しません。素直に再起動する方がよさそうです。

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

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