検索
連載

あなたの知らない“Windows 10のメモリ管理”の世界その知識、ホントに正しい? Windowsにまつわる都市伝説(97)(3/3 ページ)

今回は、Windowsのメモリ管理の仕組みについて徹底的に解説……なんて全く思っていません。Windows 10には「機能更新プログラム」(つまり新バージョン)で新機能が次々に追加されていくわけですが、“ナントカ3D”など見栄えのする機能だけではありません。目に見えない、Windowsのコア部分にも新機能が追加されたり、仕様変更が行われたりします。それは、時にはユーザーを驚かせることもあります。そして、隠されてしまうことも……。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

Windows 10 バージョン1703でうちのsvchostが暴走? いえ、仕様でございます

 Windows 10 バージョン1703(Creators Update)では、「svchost.exe」プロセス(Windowsサービスのホストプロセス)によるサービスのホストの仕様に大きな変更が加わりました。

 svchost.exeプロセスは、Windowsサービスのダイナミックリンクライブラリ(DLL)をホストするサービスであり、「サービスグループ」という単位で1つのsvchost.exeプロセスが複数のサービスをホストすることがよくあります。

 Windows 10 バージョン1703以降を利用中なら、でタスクマネージャーを開いてみてください。大部分のサービス(例外もあり)が、それぞれ1つのSvchost.exeプロセスでホストされているのを目にすることができるかもしれません(画面5)。そうではなく、従来と同じように1つのSvchost.exeプロセスで複数のサービスがホストされているかもしれません(画面6)。あなたのPCはどちらでしょうか。

画面5
画面5 Svchost.exeプロセスとサービスの対応が、ほぼ1対1
画面6
画面6 1つのSvchost.exeプロセスが複数のサービスをホストしている様子

 1つのSvchost.exeプロセスで1つのサービスがホストされている状況では、大量のsvchost.exeプロセスが動作するため、異常事態のように見えるかもしれません。自分のPCが暴走している、あるいはマルウェアに感染しているのでは? と不安に感じることもあるかもしれません。でも安心してください。どちらも正常です。

 これは、Windows 10 バージョン1703以降(サーババージョンは除く)の新しい仕様です。上記の画面5と画面6の違いは、PCに搭載されている物理メモリ容量の違いからくるものです。メモリがあるサイズ以下であれば従来通り、1つのsvchost.exeプロセスで複数のサービスをホストします。メモリがあるサイズより大きい場合、一部のサービスを除いて、1つのsvchost.exeプロセスが1つのサービスだけを専門的にホストします。その境になるのは3.5GBです。3.5GBより多いメモリを搭載している場合、新しい仕様が適用されます。

 Windows 10 バージョン1703を実行する仮想マシンでメモリサイズを変えて比較してみました。メモリが3.5GB以下(3.5GBを含む)の場合、svchost.exeプロセスの数は「18」でした。同じ仮想マシンのメモリを3.5GBより大きくすると、svchost.exeプロセスの数は「69」にまで増えました(画面7)。この実験の様子は、筆者の個人ブログをご覧ください。

画面7
画面7 同じPC(仮想マシン)でメモリ容量を変えて比較してみたところ。メモリが3.5GB以下の場合、svchost.exeプロセスの数は「18」。メモリが3.5GBより多い場合、svchost.exeプロセスの数はなんと「69」に

 この新しいホスト方法の仕様には、サービスごとにホストプロセスを分割することでサービス間を分離し、セキュリティや安定性を向上しようという目的があります。しかし、いくら十分にメモリがあったとしても、プロセスごとにメモリ割り当て(ワーキングセット)があるわけですから、svchost.exeプロセスの増殖はメモリ使用の増加に直結します。

 メモリ圧縮は、その状況を改善する方法の1つです。Windows 10 バージョン1703以降はメモリ圧縮に加えて、svchost.exeプロセスが「ページ統合(Page Combining)」の対象になりました。ページ統合機能はWindows 8から搭載されたメモリの使用効率を向上する機能で、すごく簡単に言ってしまえば“メモリの重複排除機能”です。

 メモリ圧縮、svchost.exeプロセス、ページ統合など、Windowsの内部的な動きは、エンドユーザーは知る必要のないことではありますが、タスクマネージャーなどエンドユーザーに見えてしまう部分もあり、それが謎やいらぬ誤解を生むこともあります。これまでのWindowsの仕組みを知っている人にとっても、新しい仕様には戸惑うことがあるでしょう。最近は、新しい仕様を説明するドキュメントがかなり遅れて公開されることもあるので、なおさらです。

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。


前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る