ctfmon.exeの大量のメモリリーク.
こんにちは.ctfmon.exeのメモリ使用量は、24時間ごとに約25~30MB増加します.
何が起こっているのかを知る方法はありますか?
Windows 10
18362
返信リスト(回答:13)
Windows 10
1803およびWindows 10
LTSC 1809で同じ問題が発生しました.5日後にCTFMON.EXEが最大27 GBになり、他のApplicationがメモリ不足になりました問題.システムには32 GBのシステムメモリが搭載されていました.
Applicationをデバッグしたところ、問題が発生しました.CTFMON.EXEは、Applicationがキーボードフォーカスを設定するたびに少し大きくなります.
単純なループにより、CTFMON.EXEのCPU使用率が高くなり、大量のメガバイトのメモリ使用量が増加します.
for(int i=0; i<1000; i ++)
{
AfxGetMainWnd()->SetFocus();
AfxPumpMessage();
}
間違いなくバグがあります.
応答3# ->にスキップ4 #FelixKaわかりません.Visual Studio 2019コミュニティを使用して、自宅でこの問題についてさらに調査を行いました.そこで、単純なボタンクリックハンドラーにコードスニペットを配置しました.単純なMFCダイアログベースのテストで使用した場合、メモリリークは発生しませんでした.
Application.しかし、それはMDIApplicationで発生しました.1か月前に、1809versionのいくつかの基本的なWindows機能の別のバグを認識しました.kernel32.dllには、「Atomtable」にアクセスするための関数があります.関数「GlobalAddAtom」が突然「リソース不足」エラーを報告し始めましたが、それは****でした.後
関数がそのエラーを返し始め、クリップボードが機能しなくなりました.Firefoxは起動後に黒いwindows コンテンツしか取得しませんでした.他のApplicationがクラッシュしました.「フィードバックハブ」を使用してその問題を報告しましたが、応答がありませんでした.月後、問題
消えました.そのため、そのような問題を報告するための正しい方法は何なのかわかりません.
応答4# ->にスキップ5 #HussamA私はまた、8月またはおそらく7月にフィードバックハブで問題を報告しましたが、返信も受け取りませんでした.
私はWindowsにそれほど詳しくありません.
これがLinuxおよびオープンソースソフトウェアの場合、使用されたdllの1つがリークの原因または誤用の原因であると想定してvalgrindを実行し、問題を見つけて修正します.
Windowsでは、私は基本的に迷っています.
応答5# ->にスキップ6 #HussamAFelix、ここにフィードバックレポートを宣伝してください.フィードバックリンクを共有してください.
私は、上向きに翻訳し、これがマイクロソフトエンジニアに達する可能性を高めることが指示されました.
応答6# ->にスキップ7 #FelixKa 1遅れてすみません.職場ではフィードバックハブにアクセスできないため、自宅でこれを行う必要がありました.
フィードバックハブから、リンクのフィードバックアイテムにアクセスできないと通知されました.
Windows 10
Home 1903のVisual Studio 2019 at Homeで別のテストを実行しました.プロジェクトウィザードを使用して、SDI(シングルドキュメントインターフェイス)のMFCプロジェクトを作成しました
デフォルトで提供されるaboutボックスを開くときに、4行だけを追加しました.10.000回の反復でテストを行ったところ、CTFMON.EXEがコミットされたメモリを14MBから134MBに拡大しました.そのため、フィードバックハブを使って自分でその問題を報告するようにします.
応答11# ->にスキップ12 #HussamA見つかりません.しかし、おそらくマイクロソフトの誰かがあなたのフィードバックレポートを見つけて問題を修正するかもしれません.返信があったら、更新してください.
ありがとうございます!
応答12# ->にスキップ13 #FelixKaその問題をフィードバックハブに投稿した後、「GlobalAddAtom」(kernel32.dll)に関して報告された他の問題について簡単なチェックを行いました.返事が来ない.影響を受けるカーネルをクリーンアップするためにWindowsを再起動する必要があるたびに、その問題は非常に迷惑でした
構造.最後の発生は今年の3月/4月頃でした.たぶん、Microsoftの開発チームの誰かがversion1803と1809の間でkernel32.dllの変更を比較し、静かに修正しました.再現する方法がわかりませんでした.しかし、今回は
完全に機能する例.そう[であることを]祈りましょう.