企画構想†
- 全体(第一部+第二部)で 80ページ
- 全体で事例を 50 以上出したい
- 2023年1月25日売り号 に掲載、原稿締め切りは 12月中旬
企画書
日程、分量†
- 第一部の想定は 高々 50ページ、35事例(ツール紹介 25、障害事例 10)
- 第二部は NDS 伊藤さん執筆、IoT Gateway の開発事例を紹介(クラウド連携アプリ)
- 第一部の事例についても、伊藤さん、石川さん@SONY にも協力を依頼できそう
- OSS 系のデバッグ、解析ツールには読者の関心高そう
- 1 ページ = 2,000 文字(100% 文字)、半分程度 図や画面キャプチャだと 1,000文字
- 50 ページ x 1,000 文字 x 1.3(マージン)= 全体で 65,000 文字 見当
- 現在作成記事 = 66,444 (20220921)
テンプレート†
プロローグ†
1章 開発&デバッグの基礎知識†
2章 挙動解析に利用可能な情報†
3章 トラブル事例集†
- 事例概要(と、その背景)
- 解析に利用できるコマンド、ツールの紹介
- 解析事例
- アドバイス
4章 HW 障害解析†
5章 SW 障害解析†
章構成案†
プロローグ(2ページ)†
1章 開発&デバッグの基礎知識(4ページ、ツール紹介 8)†
- カーネル/ユーザー空間(コンテキストの概念)
- プロセスの概念
- バージョンの確認方法
- ログの見方
- パッケージ管理
- yocto
- dnf (rpm)
- APT (DPKG)
- ライブラリー依存関係
- タスクスケジューリング
- リソースアロケーション
2章 挙動解析に利用可能な情報(6ページ、ツール紹介 6)†
- /proc (3種)
- /sys (3種)
- ビルトイン・ツール
- 追加ツールなど(レイテンシ解析、リソース消費監視 など)
- bootchart
- latecytop
- powertop
- 最新バージョンで利用可能なツール
- RTLA (Real-Time Linux Analysis toolsets)
3章 トラブル事例集(10ページ/10 topic)†
メモリー枯渇に起因する障害 (12,780 文字)†
- 何故メモリーが枯渇するのか(kernel 起因、アプリ起因)
- 実験的にメモリー枯渇状況を発生させ、swap/OOM の挙動を確認する
- OOM が発生したかの確認方法
- OOM のアプリ選択メカニズムと回避方法(優先度設定)
- コマンド(free, top, vmstat, smem など)
システムの起動に関わる問題 (17,992文字)†
- systemd-analyze
- bootchart
アプリケーションの実行に関わる問題 アプリはプロセスに閉じ込めて実行される(15,238文字)†
- 話題
- ps, pstree
- ps 状態遷移
- /proc/PID (status)
- init
デーモン
- time
- stress
ulimit
デバイスドライバーとコンテキストスイッチ(20,434文字)†
- strace/ltrace
- サーバー監視ツール(AWS のモニター画面)
ネットワークの設定に関わる問題†
- テーマ
- ネットワークの構成(最近の Linux では設定方法が変わっている)
- ネットワーク構成の自動設定(ディストリビューションカーネル)
- 証明書の管理
- 平文での通信が拒否されるケース (http, smtp など)
- Let's Encrypt の利用
アプリケーションの実行に関わる問題†
- 起動時間の可視化(LTTng、Bootchart)
- 外部デバイス起因の遅延(低速デバイスの遅延初期化による解決)
- 起動時のメモリーチェック、コア数の制限
- バックアップ/レストア操作,
- ディスク容量の圧迫
- 証明書起因
- メール・システム障害
4章 HW 障害解析(10ページ/5 topic)†
5章 SW 障害解析(10ページ/5 topic)†
- 各種ディストリビューション
- BSP ビルド..デバイス・ドライバ
- その他...トラブルシュート事例があれば適宜追加する