メモリが解放されない?

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
    2016-02-19T07:47:29+00:00

    あの、私の言うことは少しも間違っていません。

    ただし、メモリにおいては少し違っているかも知れませんがおおむねあたりですけれどね。

    けれども鈴菜萌様が一返信者様なのでそれ相応に感じて頂ければいいのです。おおむねの要点は同じ意味だと思われたほうが言いと思います、お****の返信で可笑しくなりましたけれど・・・

    まあ、いくら具体的に回答してもそれは「お前は実際にその現象を研究して擬態的に確認したのか?」という事だ。

    個人的なウイキぺディア?そんなのを読むわけがないのだ。

    科学的に考えるならば「メモリ」は基本となる元素を改良して利用を始めたのであり。

    各社のメモリは製造元によりそれぞれ違いがあります事をご了承くださいませ・・・しかし同じ傾向を辿ることになりますから「規格としては正しい」と思われます。いわゆるソフトによりメモリ動向が大きく左右される。

    なのでWindowsとして使うのが正しいのか?どうかは個人的にご判断されるとよろしいかと思われます。

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

    0 件のコメント コメントはありません
  2. Anonymous
    2016-02-19T05:03:29+00:00

    murano さん、こんにちは。

    私も最近Window8.1(64bit)のアプリケーション開発していて

    連続稼働確認にて同じ問題を抱えていた所、こちらのサイトを拝見したので投稿します。

    (古い投稿なので、もう解決済みかもしれませんが・・)

    更新プログラムKB3048778を適用すると、taskhostex.exeのCommited Byte の上昇はなくなりました。

    修正内容からexplorer.exeのリーク改善を期待して適用したのですが、taskhostex.exeが改善されました。

    explorer.exeは依然として改善されませんが、私のアプリケーション起動中はデスクトップおよび

    タスクバーの表示不要なので、アプリ起動時はexplorer.exe終了、終了時に起動という対応で

    連続稼働が可能になりました。

    上記対応前は、いずれ仮想メモリの上限まで上昇してCommited Byte In Use が100%と

    なった時点でアプリケーションがメモリ不足でダウンしてました。

    以上、参考までにご報告します。

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

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

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


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

  4. Anonymous
    2015-05-27T14:07:34+00:00

    そこまでわかっていらっしゃるのならWindowsがどうしてメモリ解放が下手なのかとか、x86ではメモリアドレスに制限があったのはどうしてかなど根本から説明してはどうでしょうか?

    私はMSコミュニティーでは存外によくある話と考えているのですが、専門用語を使わずに平明な言葉で説明し直すのはとても大変な気がします。基本的には質問者の方が「納得できる」ことがが一義のような気がします。

    自分などは回答者としてとても足りないところがありますので回答ができなくなってしまいます…。

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

    0 件のコメント コメントはありません
  5. Anonymous
    2015-05-27T12:56:08+00:00

    私の投稿 (返信) に対するレスということですが、なんかとてつもなく勘違いされている気がするのですが。。。

    (話が噛み合っていないので、どう返信すればよいのか。。。)

    しいて言えば、私は質問主ではなく、単なる一返信者。。。ということなのですが、その点をご理解された上で、私の投稿に対して返信されたのでしょうか?

    ちなみに、「インサイド Windows」という書籍があるのですが、こちらはお読みになられていますでしょうか?

    (本件を議論するには、この本に書かれている内容を把握されているかが重要になりますので、一応確認ということで。)


    インサイド Windows 第6版

    http://www.amazon.co.jp/%E3%82%A4%E3%83%B3%E3%82%B5%E3%82%A4%E3%83%89WINDOWS-%E7%AC%AC6%E7%89%88-%E4%B8%8A-Microsoft-Press/dp/4822294706

    http://www.amazon.co.jp/%E3%82%A4%E3%83%B3%E3%82%B5%E3%82%A4%E3%83%89Windows-%E7%AC%AC6%E7%89%88-%E4%B8%8B-Microsoft-Press/dp/4822294714


    まだ読まれていないようでしたら、是非読まれることをお勧めします。

    (私はこの本を最初に読んだとき、ものすごい「衝撃」を受けました。)

    話が噛み合っていないと思われるのでしたら残念です。

    あなたに指摘を理解できる知識や能力がなかっただけということですので、そっとご退場頂くのがよろしいかと。

    ここはスレッドのテーマに基づき、自分の試行錯誤の結果を共有する場と理解しています。

    明らかに間違った情報を発信した場合、誰もがその間違いを指摘できると私は思っています。

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

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