Quantcast
Channel: 円周率近似値の日に生まれて理系じゃないわけないだろ! - knifeのblog
Viewing all articles
Browse latest Browse all 5376

svchost.exeがメモリーを占有している

$
0
0

タスクマネージャを確認すると、svchost.exeが大量にあって、かなりのメモリーを占有していることがわかった。

どのくらいメモリーを占有しているか、ざっとした合計を出す方法を考える。

私は、職業柄というかDOS窓(コマンドプロンプト)を使って作業することが多い。

tasklist.exeというコマンドがある。
コマンドプロンプトより、tasklist /?
でヘルプを表示してみる。

TASKLIST [/S システム [/U ユーザー名 [/P [パスワード]]]]
         [/M [モジュール] | /SVC | /V] [/FI フィルター] [/FO 形式] [/NH]

説明:
    ローカルまたはリモートのシステムで実行されている
    プロセスの一覧を表示します。

パラメーター一覧:
   /S    システム            接続するリモート システムを指定します。

   /U    [ドメイン\]ユーザー コマンドを実行するユーザー コンテキストを
                             指定します。

   /P    [パスワード]        提供されたユーザー コンテキストのパスワードを
                             指定します。省略された場合は、入力を要求します。

   /M    [モジュール]        指定された EXE/DLL 名を使用しているタスクを
                             すべて表示します。モジュール名が指定されない場合
                             は、読み込まれているモジュールすべてを表示します。

   /SVC                      各プロセスをホストしているサービスを表示します。

   /APPS                   ストア アプリと関連するプロセスを表示します。

   /V                      詳細なタスク情報を表示します。

   /FI    フィルター       フィルターによって指定された、与えられた条件に一致
                           するタスクを表示します。

   /FO    形式             出力の形式を指定します。
                           有効な値: "TABLE", "LIST", "CSV"。

   /NH                     出力するときに、"カラム ヘッダー"を
                           表示しないように指定します。
                           "TABLE" と "CSV" 形式でのみ有効です。

   /?                      このヘルプ メッセージを表示します。

フィルター:
    フィルター名    有効な演算子              有効な値
    -----------     ---------------           --------------------------
    STATUS          eq, ne                    RUNNING | SUSPENDED
                                              NOT RESPONDING | UNKNOWN
    IMAGENAM        eq, ne                    イメージ名
    PID             eq, ne, gt, lt, ge, le    PID 値
    SESSION         eq, ne, gt, lt, ge, le    セッション番号
    SESSIONNAME     eq, ne                    セッション名
    CPUTIME         eq, ne, gt, lt, ge, le    次の形式の CPU 時間
                                              hh:mm:ss
                                              hh - 時間、
                                              mm - 分、ss - 秒
    MEMUSAGE        eq, ne, gt, lt, ge, le    メモリ使用 (KB)
    USERNAME        eq, ne                    [ドメイン\]ユーザーの形式の
                                              ユーザー名
    SERVICES        eq, ne                    サービス名
    WINDOWTITLE     eq, ne                    ウィンドウ タイトル
    MODULES         eq, ne                    DLL 名

注意: リモート コンピューターを照会するときは、"WINDOWTITLE" フィルターと
      "STATUS" フィルターはサポートされません。

Examples:
    TASKLIST
    TASKLIST /M
    TASKLIST /V /FO CSV
    TASKLIST /SVC /FO LIST
    TASKLIST /APPS /FI "STATUS eq RUNNING"
    TASKLIST /M wbem*
    TASKLIST /S システム /FO LIST
    TASKLIST /S システム /U ドメイン\ユーザー名 /FO CSV /NH
    TASKLIST /S システム /U ユーザー名 /P パスワード /FO TABLE /NH
    TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"


なるほど、コマンドの使い方は解った。

svchost.exeだけのリストを表示させようと、ヘルプの通りに、
tasklist /fi "IMAGENAM eq svchost.exe"
と実行するも、
エラー: 検索フィルターが認識されません。
と返ってくる。

どうやらヘルプが間違っているようだ。
IMAGENAMではなく、IMAGENAMEである。
また、大文字である必要もない。

tasklist /fi "imagename eq svchost.exe"

イメージ名                     PID セッション名     セッション# メモリ使用量
========================= ======== ================ =========== ============
svchost.exe                    440 Services                   0        848 K
svchost.exe                    632 Services                   0     19,148 K
svchost.exe                    816 Services                   0     54,268 K
svchost.exe                    712 Services                   0      3,160 K
svchost.exe                   1168 Services                   0      3,972 K
svchost.exe                   1196 Services                   0      3,932 K
svchost.exe                   1308 Services                   0      7,588 K
svchost.exe                   1388 Services                   0      5,456 K
svchost.exe                   1440 Services                   0      3,768 K
svchost.exe                   1504 Services                   0      8,156 K
svchost.exe                   1544 Services                   0     76,596 K
svchost.exe                   1560 Services                   0      3,980 K
svchost.exe                   1568 Services                   0      1,608 K
svchost.exe                   1576 Services                   0      3,292 K
svchost.exe                   1764 Services                   0      4,672 K
svchost.exe                   1792 Services                   0      3,280 K
svchost.exe                   1800 Services                   0      8,192 K
svchost.exe                   1852 Services                   0      8,576 K
svchost.exe                   1900 Services                   0      5,252 K
svchost.exe                   2000 Services                   0      9,308 K
svchost.exe                   2040 Services                   0     11,368 K
svchost.exe                   2144 Services                   0      5,964 K
svchost.exe                   2152 Services                   0      6,212 K
svchost.exe                   2160 Services                   0      2,540 K
svchost.exe                   2220 Services                   0      5,076 K
svchost.exe                   2412 Services                   0      9,512 K
svchost.exe                   2476 Services                   0      5,988 K
svchost.exe                   2996 Services                   0      6,584 K
svchost.exe                   3020 Services                   0      3,628 K
svchost.exe                   2092 Services                   0      3,696 K
svchost.exe                   3016 Services                   0     16,172 K
svchost.exe                   3148 Services                   0      2,772 K
svchost.exe                   3208 Services                   0      2,044 K
svchost.exe                   3292 Services                   0     89,364 K
svchost.exe                   3308 Services                   0     15,440 K
svchost.exe                   3316 Services                   0      2,768 K
svchost.exe                   3324 Services                   0     12,136 K
svchost.exe                   3376 Services                   0     20,296 K
svchost.exe                   3608 Services                   0      1,120 K
svchost.exe                   3712 Services                   0      3,812 K
svchost.exe                   3760 Services                   0      1,720 K
svchost.exe                   3772 Services                   0      4,580 K
svchost.exe                   3784 Services                   0     20,272 K
svchost.exe                   3836 Services                   0     11,464 K
svchost.exe                   4064 Services                   0      4,700 K
svchost.exe                   4196 Services                   0      5,060 K
svchost.exe                   4352 Services                   0    203,068 K
svchost.exe                   4444 Services                   0      3,760 K
svchost.exe                   5772 Services                   0      3,228 K
svchost.exe                   5856 Services                   0      2,528 K
svchost.exe                   2080 Services                   0      6,396 K
svchost.exe                   2924 Services                   0      6,588 K
svchost.exe                   3780 Services                   0      4,680 K
svchost.exe                   4020 Services                   0      4,540 K
svchost.exe                   4600 Services                   0     10,520 K
svchost.exe                   6496 Console                    1      3,068 K
svchost.exe                   6520 Console                    1     24,508 K
svchost.exe                   6876 Services                   0      1,688 K
svchost.exe                   6720 Console                    1      6,468 K
svchost.exe                   7416 Services                   0      9,776 K
svchost.exe                   8708 Services                   0      2,416 K
svchost.exe                  10008 Services                   0      4,364 K
svchost.exe                  10184 Services                   0      8,960 K
svchost.exe                   6400 Services                   0      3,496 K
svchost.exe                   3912 Services                   0     12,784 K
svchost.exe                   6100 Services                   0      3,548 K
svchost.exe                   7396 Services                   0      3,076 K
svchost.exe                   7916 Services                   0      2,168 K
svchost.exe                   8588 Services                   0      2,420 K
svchost.exe                  16636 Services                   0      3,788 K
svchost.exe                   1292 Services                   0      9,188 K
svchost.exe                  15232 Services                   0      6,000 K
svchost.exe                  14516 Services                   0      8,252 

一体何個のsvchost.exeが起動しているんだ?


tasklist /fi "imagename eq svchost.exe" > svchost.txt

リダイレクトしたファイルをExcelに打ち込んで、データ→区切り位置で変換してみると、

83個で、870,616KB→約850MBもメモリーを占有していることが解った。

メモリを8GB積んでいるんだが、合計すると10%以上使っている計算になる。

因みに、
/fo csv
でcsv形式にできるが、メモリ使用量が"123,456 K"のようになっているので、Excelにcsvとして取り込むと、Kを取り除く作業をしないとΣ計算できないので面倒です。

CSVを想定しているならば、Kとかの単位は要らないで、正確な値を入れればいいだけなのにね。


タスクマネージャの詳細タブにて、右クリックをして、タスクの終了やタスクツリーの終了をしたいところだが、svchost.exe をやるのはあまりよろしくない。

svchost.exeは、名前は同じでも、やってる中身(サービス)が違うからです。

プロセスタブに移動して、負荷の掛かっているデバイス(CPU、メモリ、ディスク、ネットワーク)を選択して、大きい順に並べ、負荷の高いサービスホストの:以降の文字が何なのか、もしくは、左の>をクリックしてを展開して、中身が何なのかを調べ、そのサービス名をネットで検索して、必要か不要かを判断するべきだろう。
右クリックして、オンライン検索というのもあり、Bingを探しにいくので、それでもいいでしょう。

タスクマネージャのプロセスタブで、名前でソートして、サービスホストの画像を連結してみました。
 

※表は、名前、CPU、メモリ、ディスク、ネットワークの順番です。

メモリ使用量が多くて困っているとして、サービスホストではIP Helperが204MB使用していることが解るので、IP Helperをネットで検索して、必要か不要かの判断をするということ。

まぁ、すべて自己責任で行うことになるのですがね。
 


ではでは

 

 


Viewing all articles
Browse latest Browse all 5376

Trending Articles