第1章 深入理解Linux操作系统
1.1 Linux进程管理
1.1.1 进程的概念
1.1.2 进程的生命周期
1.1.3 线程的概念
1.1.4 进程优先级和Nice等级
1.1.5 上下文切换
1.1.6 中断处理
1.1.7 进程状态
1.1.8 进程的内存段
1.1.9 Linux CPU调度程序
1.2 Linux内存体系结构
1.2.1 物理内存和虚拟内存
1.2.2 虚拟内存管理
1.3 Linux文件系统
1.3.1 虚拟文件系统
1.3.2 文件系统日志
1.3.3 Ext2
1.3.4 Ext3
1.3.5 Ext4
1.3.6 XFS
1.3.7 Btrfs
1.3.8 JFS
1.3.9 ReiserFS
1.4 Linux磁盘I/O子系统
1.4.1 I/O子系统的体系结构
1.4.2 Cache
1.4.3 块层
1.4.4 I/O设备驱动程序
1.4.5 RAID与文件系统
1.5 Linux网络子系统
1.5.1 网络化的实现
1.5.2 TCP/IP
1.5.3 Offload
1.5.4 Bonding模块
1.6 Linux性能度量标准
1.6.1 处理器的度量标准
1.6.2 内存的度量标准
1.6.3 块设备的度量标准
1.6.4 网络接口的度量标准
第2章 监控工具
2.1 监控工具概述
2.2 常用监控工具
2.3 常用监控工具的使用
2.3.1 top
2.3.2 uptime
2.3.3 ps、pstree
2.3.4 free
2.3.5 mpstat
2.3.6 vmstat
2.3.7 iostat
2.3.8 netstat、ss
2.3.9 sar
2.3.10 numastat
2.3.11 pmap
2.3.12 iptraf
2.3.13 strace和Itrace
2.3.14 gnuplot
2.3.15 Gnome System Monitor
第3章 Benchmark工具
3.1 UNIXBench
3.1.1 安装与运行
3.1.2 Run的用法
3.2 STREAM
3.3 Bonnie
第4章 分析性能瓶颈
4.1 识别系统瓶颈
4.1.1 收集信息
4.1.2 分析服务器性能
4.2 CPU瓶颈
4.2.1 查找CPU瓶颈
4.2.2 SMP
4.2.3 性能调整选项
4.3 内存瓶颈
4.3.1 查找内存瓶颈
4.3.2 性能调整选项
4.4 磁盘瓶颈
4.4.1 查找磁盘瓶颈
4.4.2 性能调整选项
4.5 网络瓶颈
第5章 调整操作系统
5.1 调整原则
5.2 安装注意事项
5.2.1 安装
5.2.2 检查当前的配置
5.2.3 小化资源使用
5.2.4 SELinux
5.2.5 编译内核
5.3 改内核参数
5.3.1 proc文件系统
5.3.2 存储参数的位置
5.3.3 使用sysetl命令
5.4 调整处理器子系统
5.4.1 调整进程优先级
5.4.2 CPU亲和力
5.4.3 平衡中断
5.4.4 NUMA系统
5.5 调整内存子系统
5.5.1 内存回收(设置内核交换和刷新脏数据行为)
5.5.2 调整swap
5.5.3 HugeTLBfs
5.5.4 内核同页合并
5.6 调整磁盘子系统
5.6.1 安装Linux前的硬件注意事项
5.6.2 I/O调度的调整和选择
5.6.3 文件系统的选择和调整
5.6.4 虚拟化存储
5.7 调整网络子系统
5.7.1 网卡绑定
5.7.2 巨帧
5.7.3 速度与双工模式
5.7.4 增加网络缓冲区
5.7.5 增加数据包队列
5.7.6 增加传输队列长度
5.7.7 配置offload
5.7.8 Netfilter对性能的影响
5.7.9 流量特性的注意事项
5.7.10 额外的TCP/IP调整
5.8 限制资源使用