Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

Systemtapを使ってみる@RHEL 5.5 x86_64

      2013/07/15

Systemtap を使用してみたので覚え書き。

Systemtapでは、動的にカーネルモジュールをカーネルに入れ込んで、OSの様々な状態を監視したり、変更したりすることができる仕組みを提供しています。よって、本当に使いこなすにはカーネルの仕組みを知っている必要がありますが、Systemtapをインストールするとサンプルコードが一緒にインストールされるので、まずはこれを使用してみます。

Systemtapを使用するには、systemtap や systemtap-runtime というパッケージ以外に、kernel-debuginfo や kernel-debuginfo-common といったパッケージが必要になります。前者二つはインストールメディアにありますが、後者二つのdebuginfo関連のパッケージはインストールメディアには含まれていないので、別途RedHat社のWebページからダウンロードしてくる必要があります。

RHEL5.5 (x86_64) の場合、debuginfo ダウンロード先は ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/x86_64/Debuginfo/ となり、現在使用しているカーネルと同じバージョン(RHEL 5.5 のデフォルトは2.6.18-194.el5) のkernel-debuginfoとkernel-debuginfo-commonをダウンロードし、インストールします。
※kernel-debug-debuginfo パッケージはkernel-debug の debuginfo で違うので注意

# rpm -ivh  kernel-debuginfo-2.6.18-194.el5.x86_64.rpm kernel-debuginfo-common-2.6.18-194.el5.x86_64.rpm

これで準備完了です。あとは、サンプルを動かしてみます。サンプルは、/usr/share/doc/systemtap-1.1/examples/ ディレクトリにありますが、全部がそのまま動くわけではないようで、今回は動きそうなサンプルの profiling/sched_switch.stp を使用してみます。ファイル名より、プロセスのスケジューリングのスイッチを監視することができそうです。

実行は以下のように行います。

# stap  sched_switch.stp

実行すると、以下のように(おそらく)プロセスのスケジューリングが実行される度にログが出力されました。(ssh経由で実行しているので、sshd プロセスがよく働いているようです。

stapio              012851431516428483873650:115:S ==> 2578:116:R             sshd
sshd                012851431516429846632578:16:R + 3650:15:S           stapio
sshd                012851431516429908652578:116:R ==> 3650:115:R           stapio
stapio              012851431516430375163650:115:S ==> 2578:116:R             sshd
…

 - IT技術 , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

休止状態やハイバネート後のキーボード入力が遅い@Windows10

Windows10を使ってるのですが、休止状態から復帰するとなぜかキーボードのリ …

no image
タイムゾーンの変更方法@RHEL

RHELやCentoSインストール時にタイムゾーン間違ったり、VMwareでクイ …

no image
Ubuntuの起動画面が途中で見えなくなる@Ubuntu 9.04

Ubuntu 9.04を入れてみました。 起動時の画面が途中で真っ暗になったり、 …

no image
nForceのマザーM2NPV-VMでのRAID (NVRAID) の使用

数年前に買ったASUSのnForceのマザーボード M2NPV-VMで使っていた …

no image
キル(コピー)した文字列の履歴をさかのぼってヤンク(貼り付け)する@bash

bashで、Ctrl-kでキル(コピー)した文字列をCtrl-yでヤンク(貼り付 …

no image
evalで変数名を変数にする@bash

シェルスクリプトで変数を使用していると、変数名を変数にしたい場合が出てきます。 …

no image
PS3 Media Server で自動起動できない@Windows 7 64bit

PS3 Media Player へ、DLNA環境をWindows Media …

no image
rpmが削除できない@CentOS 5.2

rpm -e でパッケージ削除中に誤ってCtrl-Cを押してしまい、中途半端に削 …

uvtoolで簡単にクラウドイメージ取得・起動@Ubuntu 14.04 LTS

Ubuntuのサイトにいろいろとクラウド用のイメージがありますが、uvtoolと …

no image
VNC上の文字化け解消@CentOS 5

一部のアプリケーション、例えばJavaやOracleのインストーラーなどは、VN …