openSUSE 13.1

システム分析とチューニングガイド

発行日 28/11/2013

Copyright © 2006–2013 SUSE LLC and contributors. All rights reserved.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled GNU Free Documentation License.

For SUSE or Novell trademarks, see the Novell Trademark and Service Mark list http://www.novell.com/company/legal/trademarks/tmlist.html. All other third party trademarks are the property of their respective owners. A trademark symbol (®, ™ etc.) denotes a SUSE or Novell trademark; an asterisk (*) denotes a third party trademark.

All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its affiliates, the authors nor the translators shall be held liable for possible errors or the consequences thereof.

下記に上記の日本語翻訳を掲載します。日本語の翻訳は公式なものではないことに注意して ください。

Copyright © 2006–2013 SUSE LLC および貢献者が全権利を留保しています。

この文書を、フリーソフトウェア財団発行の GNU フリー文書利用許諾契約書 バージョン 1.2 または (希望すれば) 1.3 が定める条件の下で複製、頒布、あるいは 改変することを許可する。ただし、この著作権とライセンス表記については変更不可部分 とする。この利用許諾契約書の複製物は GNU フリー文書利用許諾契約書 という章に含まれている。

SUSE 社, Novell 社の商標については、 Novell 社の商標とサービスマーク一覧 http://www.novell.com/company/legal/trademarks/tmlist.html を ご覧ください。その他の商標は各所有者の所有物です。商標シンボル (®, ™ など) は、それぞれ SUSE 社および Novell 社の商標であることを示しています。 また、アスタリスク (*) は第三者の商標を示しています。

この書籍内にある全ての情報は細部に至るまで最大限の注意を払って制作されていますが、 完全に正確であることを保証するものではありません。 SUSE LLC, SUSE LINUX Products GmbH, 著者, 翻訳者のいずれも、本書籍内の誤りとそこから生じる結果について、 一切の保証はいたしません。


目次

このガイドについて
1. 利用可能な文書
2. フィードバック
3. 文書規約
4. このマニュアルの作成について
5. ソースコード
6. 謝辞
I. 基本
1. システムチューニングに対する一般的な注意事項
1.1. どの問題を解決すべきかの確認
1.2. 一般的な問題の除外
1.3. ボトルネックの発見
1.4. 一歩ずつのチューニング
II. システム監視
2. システム監視ユーティリティ
2.1. 多用途ツール
2.2. システム情報
2.3. プロセス
2.4. メモリ
2.5. ネットワーク
2.6. /proc ファイルシステム
2.7. ハードウエア情報
2.8. ファイルとファイルシステム
2.9. ユーザ情報
2.10. 日付と時刻
2.11. データのグラフ化: RRDtool
3. Nagios を利用した監視
3.1. Nagios の機能
3.2. Nagios のインストール
3.3. Nagios の設定ファイル
3.4. Nagios の設定
3.5. トラブルシューティング
3.6. さらなる情報
4. システムログファイルの分析と管理
4.1. /var/log/ 内にあるシステムログファイル
4.2. ログファイルの閲覧と分析
4.3. logrotate を利用したログファイルの管理
4.4. logwatch を利用したログファイルの監視
4.5. システムログへの記録コマンド logger
III. カーネル監視
5. SystemTap—システムデータのフィルタと分析
5.1. 考え方の概要
5.2. インストールと設定
5.3. スクリプトの文法
5.4. スクリプト例
5.5. さらなる情報
6. カーネル探査
6.1. サポートされるアーキテクチャ
6.2. カーネル探査の種類
6.3. カーネルの探査 API
6.4. Debugfs インターフェイス
6.5. さらなる情報
7. perfmon2—ハードウエアベースの性能監視
7.1. 概念
7.2. インストール
7.3. perfmon の使用
7.4. debugfs からの統計情報取得
7.5. さらなる情報
8. OProfile—システム全体に対するプロファイラ
8.1. 考え方の概要
8.2. インストールと要件
8.3. 利用可能な OProfile ユーティリティ
8.4. OProfile の使用
8.5. OProfile GUI の使用
8.6. レポートの作成
8.7. さらなる情報
IV. リソース管理
9. 一般的なシステムリソース管理
9.1. インストールの計画
9.2. 不要なサービスの無効化
9.3. ファイルシステムとディスクアクセス
10. カーネルのコントロールグループ
10.1. 技術概要と用語定義
10.2. シナリオ
10.3. コントロールグループサブシステム
10.4. コントローラグループの使用
10.5. さらなる情報
11. 電源管理
11.1. CPU における電源管理
11.2. Linux カーネルの CPUfreq インフラストラクチャ
11.3. 電源関係の設定の閲覧/管理/チューニング
11.4. 特殊なチューニングオプション
11.5. 電源管理プロファイルの作成と使用
11.6. トラブルシューティング
11.7. さらなる情報
V. カーネルのチューニング
12. 複数のカーネルバージョンのインストール
12.1. 複数バージョン対応の有効化と設定
12.2. YaST を利用した複数のカーネルバージョンのインストール/削除
12.3. zypper を利用した複数のカーネルバージョンのインストール/削除
13. I/O 性能のチューニング
13.1. I/O スケジューラの切り替え
13.2. 利用可能な I/O エレベータ
13.3. I/O バリアのチューニング
14. タスクスケジューラのチューニング
14.1. 前置き
14.2. プロセスの分類
14.3. O(1) スケジューラ
14.4. Completely Fair Scheduler (完全公平型スケジューラ)
14.5. さらなる情報
15. メモリ管理サブシステムのチューニング
15.1. メモリの使用方法
15.2. メモリ使用率の削減
15.3. 仮想メモリマネージャ (VM) におけるチューニングパラメータ
15.4. 不均一型メモリアクセス (Non-Uniform Memory Access (NUMA))
15.5. VM 動作の監視
16. ネットワークのチューニング
16.1. カーネルのソケットバッファの設定
16.2. ネットワークのボトルネック検出とネットワークトラフィックの分析
16.3. netfilter
16.4. さらなる情報
VI. システムダンプの処理
17. トレースツール
17.1. strace を利用したシステムコールのトレース
17.2. ltrace を利用したライブラリ呼び出しのトレース
17.3. Valgrind を利用したデバッグとプロファイル
17.4. さらなる情報
18. kexec と kdump
18.1. 概要
18.2. 必要なパッケージ
18.3. kexec の内側
18.4. 基本的な kexec の使用方法
18.5. kexec を頻繁な再起動用に設定する方法
18.6. 基本的な kdump の設定
18.7. クラッシュダンプの解析
18.8. 高度な kdump 設定
18.9. さらなる情報
A. GNU ライセンス
A.1. GNU General Public License
A.2. GNU 一般公衆利用許諾契約書 (日本語訳)
A.3. GNU Free Documentation License
A.4. GNU フリー文書利用許諾契約書

図の一覧

2.1. iptraf の対話モード実行
2.2. RRDtool で作成したグラフ例
7.1. perfmon2 のアーキテクチャ
8.1. OProfile 向け GUI
10.1. 資源計画
12.1. YaST ソフトウエア管理 - 複数バージョン表示
18.1. YaST2 kdump モジュール - スタートアップページ

表の一覧

7.1. サポート対象のプロセッサ
7.2. 必要なパッケージ
7.3. /sys/kernel/debug/perfmon/cpu*/ 内にある読み取り専用ファイル
11.1. C-ステート
18.1. 追加のカーネルコマンドラインパラメータに対する推奨値

例の一覧

2.1. vmstat 負荷の軽いマシンでの出力
2.2. vmstat 負荷の重いマシンでの出力 (特に CPU を使用しているマシン)
3.1. ホストオブジェクトの定義
3.2. サービスオブジェクトの定義
3.3. 連絡先と連絡先グループの定義
4.1. /etc/logrotate.conf の設定例
5.1. シンプルな SystemTap スクリプト
5.2. タイマーイベントによる探査
5.3. 書式指定付きの printf 関数
5.4. グローバル変数の使用
5.5. tcp_connections.stp を利用した着信 TCP の監視
11.1. cpupower frequency-info の出力例
11.2. cpupower idle-info の出力例
11.3. cpupower monitor の出力例
11.4. powerTOP の出力例

openSUSE システム分析とチューニングガイド 13.1