いくつかのユーザーは、ntoskrnl.exeに関連するメモリリークについてRedditおよびその他のWindowsフォーラムで不満を述べています。これらのユーザーは、このシステムファイルによってもたらされた、またはそれに関連する広範なRAMおよびCPU使用率を報告しています。極端なケースを持つ人々は、メモリダンプによって引き起こされたBSOD(死のブルースクリーン)を経験したと述べています。
この記事では、Windowsでメモリ管理がどのように機能するか、ntoskrnl.exeとは何か、それが何をするかについて説明します。次に、ntoskrnl.exeが多くのメモリ領域を消費する理由とその対策について説明します。
Ntoskrnl.exeとは何ですか?
Windows 10は大規模なオペレーティングシステムですが、メモリ操作をどのようにうまく処理するのでしょうか。これは、ntoskrnl.exeメモリハンドラが原因である可能性があります。Ntoskrnl.exe(Windows NTオペレーティングシステムカーネルの略称)は、カーネルイメージとも呼ばれ、Windows NTカーネルスペースのカーネルおよびエグゼクティブレイヤーを提供するシステムアプリケーションファイルであり、ハードウェア仮想化、プロセスなどのさまざまなシステムサービスを担当します。とメモリ管理。これにより、システムの基本的な部分になります。キャッシュマネージャー、エグゼクティブ、カーネル、セキュリティリファレンスモニター、メモリマネージャー、およびスケジューラーが含まれています。
そのため、Ntoskrnl.exeはこのような保護されたシステムファイルです。システム保護により、簡単に削除または破損することはありません。
これがメモリ管理の仕組みです。タスクは、このタスクを実行するプログラムと共にメモリ(RAM)に読み込まれます。これはフェッチ部分です。CPUはそれをデコードし、タスクを実行し、結果をメモリに記録します。メモリは後でロードされたプログラムによってディスクに記録される可能性があります。実行部分は、GPU、CPU、ディスクスペース(ROMまたはHDD、SSDなど)、ネットワークデバイス、および実行中のタスクに応じてさらに多くのデバイスを含むいくつかのデバイスにアクセスできます。プログラムを閉じると、プログラムは処理していたデータとともにメモリ(RAM)からアンロードされます。これで、スペースが解放され、他のタスクで使用できるようになります。
Ntoskrnl.exeが多くのディスク容量、メモリ、CPUを消費する理由
場合NTOSKRNL.EXEがメモリを管理、そしてなぜそれがすべてのメモリとCPUの全体の多くを消費していますか?これが発生する既知の理由は次のとおりです。深刻なケースは通常、ハードウェアとマルウェアが原因のメモリリークが原因です。
Windows 10の新しい圧縮メモリ
何がWindows 7をそんなに速くするのですか?答えは、新しいntoskrnl.exe機能にあります。他のオペレーティングシステムとは異なり、Windows 10には過剰なメモリ消費が組み込まれています。マイクロソフトはこれをWindowsユーザーに個別に説明しています。
Windows 10 Build 10525のリリース後、Microsoftは次のように述べています。Windows 10では、メモリマネージャーに圧縮ストアと呼ばれる新しい概念を追加しました。これは、圧縮されたページのメモリ内コレクションです。これは、メモリマネージャーがメモリのプレッシャーを感じると、ディスクに書き込む代わりに未使用のページを圧縮することを意味します。これにより、プロセスごとに使用されるメモリの量が減り、Windows 10は一度に物理メモリに多くのアプリケーションを維持できます。これにより、Windows 10全体で応答性が向上します。圧縮ストアは、システムプロセスのワーキングセットに存在します。システムプロセスはメモリ内にストアを保持するため、メモリが他のプロセスで使用できるようになると、そのワーキングセットは正確に大きくなります。これはタスクマネージャーに表示され、システムプロセスが表示される理由以前のリリースよりも多くのメモリを消費します。
したがって、大量のメモリの使用は、Windows 10が実行するように構築されたものですが、メモリリークと間違われることがあります。Windows 10は、速度と引き換えにメモリを犠牲にします。HDDにページを書き込む代わりに、RAM上のページを圧縮します。これにより、Windows 10は以前のバージョンよりも高速になります。これは、コンピューターのRAMから圧縮データを読み取る方が、HDDから読み取ってRAMに読み込むよりも高速であるためです。これは、Windowsが採用する前のLinuxオペレーティングシステムの一部でした。開くアプリケーションが多いほど、より多くのメモリが使用されます。これは、CPU使用率が上がることを意味します。
不良または古いデバイスドライバー
特にネットワークカード、キーボード、グラフィックカードなどのデバイスと通信する場合、ntoskrnl.exeはデバイスドライバーを介してデータを送受信します。受信したデータはRAMに書き込まれ、実行を待ちます。
障害のあるデバイスドライバーの場合、ドライバーは継続的にntoskrnl.exeメモリハンドラーにデータを送信し、それ自体をメモリリークとして表示することがあります。不良ドライバは、ntoskrnl.exeが所有するメモリスペースにデータを書き込んでいる可能性もあります。このデータは継続的にメモリに書き込まれるため、RAMが蓄積されます。これにより、このすべてのデータを処理するために、より多くのCPU使用率が必要になります。ntoskrnl.exeがページにディスク領域を使用していた以前のバージョンのWindowsでは、これはディスク領域がすぐにいっぱいになることを意味します。
この問題は、オペレーティングシステムをWindows 7または8.1からWindows 10にアップデートしたユーザーにとって非常に一般的です。ドライバーはWindows 10と互換性がない可能性があり、メモリリークを引き起こします。古い「Killer Network Drivers」は、Windows 10でのメモリリークの原因であると報告されています。
マルウェアとウイルス
オンラインで配布されるシェアウェアとフリーウェアに注意してください。彼らは意図的にntoskrnl.exeシステムファイルに自分自身を埋め込むか、このファイルの機能をハイジャックしてメモリリークを引き起こす可能性があります。また、実行可能ファイルのレジストリも変更する可能性があります。これは、ntoskrnl.exeが期待どおりに機能しなくなることを意味します。マルウェアはコンピュータに害を与えることを目的としているため、RAMへのデータのストリーミングは許可されますが、外部への送信は許可されません。このウイルスは、ntoskrnl.exeが所有するメモリ空間に積極的に書き込みを行っている可能性もあります。これによりメモリがいっぱいになり、CPU使用率が高くなります。 HDDに保存されたページがストレージをいっぱいにする可能性があります。
ときNTOSKRNL.EXEメモリにあまりがあり、中に、行くことができるより多くの何もないことを検出し、「それはパニックに。」状況を救うために、他のすべてのWindowsファイルとともにメモリをダンプします。結果はブルースクリーンオブデス(BSOD)です。同じことが、何かが継続的にそのメモリ空間に違反していることを検出したときにも起こります。
また、過度のアクティビティによってCPUが過熱し、システムが突然シャットダウンする場合もあります。CPUのフライングを防ぐために、コンピューターはシャットダウンして冷却できます。
破損したNtoskrnl.exeシステムファイル
Ntoskrnl.exeは十分に保護されたシステムファイルであり、ほとんどクラッシュしたり、破損したりします。ただし、破損した場合、ntoskrnl.exeは誤動作し、RAMに何をいつ書き込むか、何をいつRAMスペースを解放するのかがわかりません。これにより、CPUがこのメモリスペースを管理するために余分な負荷をかけて、データとメモリページが積み重なる可能性があります。同じ理由でHDDがいっぱいになる可能性があります。
Windows 10でntoskrnl.exeによって引き起こされる過剰なメモリ使用を修正する方法
突然メモリリークが発生し始めた場合は、マルウェアまたはウイルスの被害者である可能性があります。Windowsの更新または新しいデバイスのインストール後にメモリリークが発生する場合は、デバイスドライバの不良または古いことが原因である可能性があります。
多くのメモリ領域を消費するntoskrnl.exeに対するいくつかの修正を次に示します。
破損したシステムファイルを修復する
Restoroをダウンロードして実行し、破損したファイルや不足しているファイルをここからスキャンして復元します。完了したら、以下の解決策に進んでください。以下のソリューションに進む前に、すべてのシステムファイルが破損していないことを確認することが重要です。
方法1:ドライバーを更新する
Windows 10にアップデートした後、グラフィックスとネットワークドライバーがメモリリークの原因に対する最初の賭けになるかもしれないことに注意する価値があります。これは、「Killer Network Drivers」を使用するPCで一般的です。ドライバーを更新するには:
- ホールドWindowsキーとRキーを押しを。hdwwiz .cplと入力し、[ OK ]をクリックします
- [ ドライバー ]タブに移動し、[ ドライバーの更新 ]をクリックします
- 自動オプションを選択して、インターネットから更新されたドライバーを見つけてインストールします
- PCを再起動します
方法2:マルウェア対策およびスパイウェア対策アプリケーションを実行してシステムをスキャンする
PCにマルウェアスキャナーをインストールすることをお勧めします。これはうまく機能し、推奨されるものです。
- ここからSpybotをダウンロードするか、ここからMalwarebytesをダウンロードしてください。
- ソフトウェアをインストールしてスキャンを実行する
- 発生するすべての問題を修正する
- コンピュータを再起動します
方法3:ランタイムブローカーを無効にする
Redditに関する最近の議論では、Runtime Brokerは、メモリの最適化が不十分なため、CPUサイクルの大部分を消費することが多い1つのシステムプロセスであることを強く示唆しています。これにより、CPU使用率が高くなり、メモリリークが発生します。
次の方法でRuntime Brokerを無効にできます。
- スタートメニューに移動して設定アプリを開きます
- システムを開く>通知とアクション
- 「Windowsに関するヒントを表示する」または「Windowsを使用する際のヒント、トリック、提案を取得する」オプションの選択を解除します
- PCを再起動します
または:
- メモ帳を開く
- これらのキーをコピーしてメモ帳に貼り付けます
Windowsレジストリエディターバージョン5.00
[HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ TimeBroker]“ Start” = dword:00000003 [HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ SysMain]“ DisplayName” =” Superfetch”“ Start” = dword:00000003- ファイルに移動して、名前を付けて保存
- 保存whichever_name_you_choose を.reg
- 管理者としてファイルを実行し、レジストリの変更を承認/確認します
- PCを再起動します
方法4:レジストリ設定を変更する
レジストリには、パフォーマンスを向上させるために編集できる特定の設定があります。レジストリ設定を調整するため:
- 押して「Windowsの」+「R同時に」キーを押します。
- タイプ「でregeditを」押し「入力してください」。
- 移動し、次のアドレスへ
HKEY_LOCAL_MACHINE> SYSTEM> CurrentControlSet> Control> Session Manager> Memory Management
- 右ペインの「Clear Page File Shutdown」レジストリをダブルクリックします。
- 「値のデータ」を「1」に変更し、「OK」をクリックします。
- コンピュータを再起動し、問題が解決するかどうかを確認します。
マルウェア対策とスパイウェア対策を常に最新の状態に保ちます。デバイスドライバーの更新を定期的に確認します。デバイスメーカーは、問題を解決して機能を改善するために、ドライバー定義を継続的に更新しています。上記のいずれもうまくいかない場合は、システムと圧縮メモリで提案された手順を試す価値があります