第一線で活躍するカーネルハッカーたちが贈る渾身の書下ろしHack集。カーネルハックの神髄と魅力を紹介します。カーネルの基本から、CPU/メモリ/プロセスなどのリソース管理、ファイルシステム、ネットワーク、仮想化、省電力、デバッグ、プロファイリング、トレースなど、扱うトピックは多岐に渡ります。カーネルチューニングの際、大いに役立つ実用的なHackを満載。カーネルハックの醍醐味が存分に味わえる一冊です。
Linuxカーネル Hacks
―パフォーマンス改善、開発効率向上、省電力化のためのテクニック
池田 宗広、大岩 尚宏、島本 裕志、竹部 晶雄、平松 雅巳 著、高橋 浩和 監修
関連ファイル
正誤表
ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。
第1刷正誤表
LinuxカーネルHacks 第1刷正誤表
2012年3月16日更新
|
目次
目次 クレジット 監修者まえがき はじめに 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を運用する 索引