リモートのWindowsサーバが高負荷により接続できないときのメモ

先日、リモートのサーバがなんらかの原因で高負荷になってしまい、リモートデスクトップで入れなくて困ってしまった。UNIX系のサーバであればリモートの管理にはTelnetSSHのような軽量なプログラムで行われるので高負荷な状態でも手も足も出ない状態にはなかなかならないが、そのサーバはWindowsであったため困ったことになってしまった。

だが、最近はWindowsでもリモート管理の仕組みが充実してきており、基本的な操作であればコマンドラインから可能となっている。今回は以下のようにして対応した(ただし、開発用などでポートがある程度開いている状態が前提である)。

  1. ローカルマシンの「コントロールパネル」→「管理ツール」→「サービス」を立ち上げ「操作」→「別のコンピュータに接続」でリモートマシンのサービスコンソールに接続する。
  2. デフォルトでは無効となっているTelnetサーバを起動する。
  3. Telnetで接続し操作する。
    • 特定のアプリケーションが高負荷の原因であれば、tasklistコマンドとtaskkillコマンドで強制終了できる。
    • リブートしたい場合は、shutdown /r で再起動できる。

ポートが開いているとここまでむちゃくちゃなことができるという意味では危険極まりないと考えることもできるが……