Linuxカーネル Hacks

パフォーマンス改善、開発効率向上、省電力化のためのテクニック

Ebook Storeで電子版を購入:
価格4,400円
カートに入れる

内容

第一線で活躍するカーネルハッカーたちが贈る渾身の書下ろしHack集。カーネルハックの神髄と魅力を紹介します。カーネルの基本から、CPU/メモリ/プロセスなどのリソース管理、ファイルシステム、ネットワーク、仮想化、省電力、デバッグ、プロファイリング、トレースなど、扱うトピックは多岐に渡ります。カーネルチューニングの際、大いに役立つ実用的なHackを満載。カーネルハックの醍醐味が存分に味わえる一冊です。

関連書籍

目次

目次
クレジット
監修者まえがき
はじめに

1章 カーネル入門
    1. Linuxカーネルを入手する
    2. Linuxカーネルをコンパイルする
    3. カーネルモジュールの作り方
    4. Gitを使う
    5. checkpatch.plでパッチの書式をチェックする
    6. localmodconfigでカーネルのコンパイル時間を短縮する

2章 リソース管理
    7. Cgroup、Namespace、Linuxコンテナ
    8. スケジューリングポリシー
    9. RT Group SchedulingとRT Throttling
    10. Fair Group Scheduling
    11. cpuset
    12. Memory Cgroupでメモリ使用量を制限する
    13. Block I/OコントローラでI/Oの優先度を設定する
    14. 仮想記憶サブシステムのチューニング
    15. ramzswap
    16. OOM Killerの動作と仕組み

3章 ファイルシステム
    17. ext4を利用する
    18. ext4への移行
    19. ext4のチューニング
    20. fioでI/Oのベンチマークを行う
    21. FUSE

4章 ネットワーク
    22. ネットワークの帯域制御
    23. TUN/TAPデバイス
    24. ブリッジデバイス
    25. VLAN
    26. bondingドライバ
    27. Network Drop Monitor

5章 仮想化
    28. Xenを使う
    29. KVMを使う
    30. DVDを使わずにOSをインストールする
    31. 仮想CPUの割り当て方法を変更して性能を上げる
    32. Extended Page Tables(EPT)を利用してゲストOSの性能を上げる
    33. IOMMUでゲストOSを高速化
    34. IOMMU+SR-IOVでゲストOSを高速化
    35. SR-IOVで帯域制御
    36. KSMでメモリを節約する
    37. ゲストOSのディスクをマウントする
    38. ゲストOSから仮想マシン環境を識別する
    39. ゲストOSをデバッグする

6章 省電力
    40. ACPI
    41. ACPI Sステートを利用する
    42. CPUによる省電力(C, Pステート)を利用する
    43. PCIデバイスのホットプラグ
    44. 仮想化環境下での省電力
    45. リモートからマシンの電源を管理する
    46. USBの電力管理
    47. ディスプレイの省電力
    48. ネットワークデバイスによる電力削減
    49. キーボードのLEDを消して省電力?
    50. PowerTOP
    51. ハードディスクの省電力

7章 デバッグ
    52. SysRqキー(Magic System Request Key)
    53. diskdumpを使ってカーネルクラッシュダンプを採取する
    54. Kdumpを使ってカーネルクラッシュダンプを採取する
    55. クラッシュテストを行う
    56. IPMIウォッチドッグタイマ
    57. NMIウォッチドッグタイマ
    58. soft lockup
    59. crashコマンド
    60. コアダンプフィルタ
    61. カーネルクラッシュダンプに含まれるユーザモードプロセスの
  プロセスコアダンプを作成する
    62. lockdepでシステムのデッドロックを調べる
    63. カーネルのメモリ解放漏れ検出

8章 プロファイリング、トレース
    64. perf toolsを使ったプロファイリング(その1)
    65. perf toolsを使ったプロファイリング(その2)
    66. カーネルやプロセスの様々なプロファイリングを行う
    67. カーネルの関数呼び出しをトレースする
    68. ftraceのプラグイントレーサ
    69. カーネルの動作イベントを記録する
    70. trace-cmdを使ったカーネルトレース
    71. 動的トレースイベントをカーネルに追加する
    72. SystemTapを使ったカーネルトレーシング
    73. SystemTapで対話的なプログラムを書く
    74. SystemTapのスクリプトを再利用する
    75. SystemTapを運用する

索引

正誤表

関連ファイル