第5回 PDツールでシステムの内部情報に迫れ【前編】:障害発生時の金科玉条(1/2 ページ)
PDを行う際に心強い味方となってくれるのがさまざまなツール類だ。ツールを利用することで、ログや設定ファイルからだけでは分からないシステムの内部情報についても知ることができる。そこで今回は、過負荷状態となったときOSの内部ではどのような動作が行われているのか、幾つかのツールを使用して探ってみよう。
ツールを使いこなすべし
OS上でPD*を進めるにあたり、「設定ファイルやログファイルの確認は当然すべきである」ということはすでに述べてきた。いまさら言うまでもないが、設定ファイルは「対象となる機能の動作をパラメータで定義した静的な情報」であり、ログファイルは「OSやソフトウェアが発行するメッセージを記録したもの」である。しかし、システム上で発生し得る現象をこれらの情報だけですべて把握することはとうてい不可能である。そこで、さまざまなツールを適材適所で使いこなし、得られる情報を的確に分析することが必要となる。
PDで利用するツール
Linuxにおいて、PDで利用可能なツールは通常ディストリビューションのパッケージという形で入手できる。はじめに、どのようなツールがPDに利用できるかを整理してみよう。表1はRed Hat Enterprise LinuxでPDに利用できるツール類である。また、表2は別途インストールなどが必要であるものの有用なツール類である。ここでは主なツールのみ挙げているが、このほかにも通常何げなく使っているツールや機能などで、PDに役立てられるものは多くあるだろう。今回はこれらの中でも使用頻度の高いvmstat、iostat、topをピックアップし、その使用方法やPDにおけるポイントなどを順に述べていきたい。なお、プロファイラ、トレーサ、ダンプを使用したPDはそれぞれ別の回で個別に説明する予定だ。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このページもしくは表内で出てきた専門用語
PD
Problem Determinationの略。直訳すれば、「問題を確定する」などになる。問題の切り分けをし、問題部分を特定する、つまり問題判別することをPDと呼ぶ。
mkexec
現在起動中のカーネルから直接新しいカーネルを起動する仕組み。同様の機能にkexecがあるが、mkexecでは先に起動されていたカーネルのメモリ空間を上書きせず、任意のアドレスにダンプ用のミニカーネルをロードできるよう改良されている。
/proc/sys
このディレクトリ以下の仮想ファイルにアクセスすることでにシステムの稼働情報を取得できる。
リングバッファ
カーネルがメッセージを記録するために使用するメモリ領域。
NIC
Network Interface Card。
共有メモリ、セマフォ、メッセージキュー
プロセス間で情報を共有したり、通信し合うための仕組み。
slabキャッシュ
カーネルの内部で頻繁に利用されるオブジェクト用のキャッシュ。
アドレスマップ情報
仮想メモリが物理メモリやスワップデバイスにどのようにマッピングされているかを示す情報。
クラッシュダンプ
カーネルがクラッシュした際に使用していたメモリの内容を出力したもの。
Copyright © ITmedia, Inc. All Rights Reserved.