科技
类型
7.5
豆瓣评分
可以朗读
语音朗读
131千字
字数
2017-04-01
发行日期
展开全部
主编推荐语
无论是Linux软件开发人员、系统管理员或终端用户,本书都是一本很好的参考书。
内容简介
本书介绍了目前重要和常用的Linux优化工具,以及如何应用它们来使应用程序/系统的性能达到优。读者可以通过众多案例,清晰地明了影响性能的关键部分及解决方案。
目录
- 版权信息
- 译者序
- 前言
- 致谢
- 第1章 性能追踪建议
- 1.1 常用建议
- 1.1.1 记大量的笔记(记录所有的事情)
- 1.1.2 自动执行重复任务
- 1.1.3 尽可能选择低开销工具
- 1.1.4 使用多个工具来搞清楚问题
- 1.1.5 相信你的工具
- 1.1.6 利用其他人的经验(慎重)
- 1.2 性能调查概要
- 1.2.1 找到指标、基线和目标
- 1.2.2 追踪近似问题
- 1.2.3 查看问题是否早已解决
- 1.2.4 项目开始(启动调查)
- 1.2.5 记录,记录,记录
- 1.3 本章小结
- 第2章 性能工具:系统CPU
- 2.1 CPU性能统计信息
- 2.1.1 运行队列统计
- 2.1.2 上下文切换
- 2.1.3 中断
- 2.1.4 CPU使用率
- 2.2 Linux性能工具:CPU
- 2.2.1 vmstat(虚拟内存统计)
- 2.2.2 top(2.0.x版本)
- 2.2.3 top(3.x.x版本)
- 2.2.4 procinfo(从/proc文件系统显示信息)
- 2.2.5 gnome-system-monitor
- 2.2.6 mpstat(多处理器统计)
- 2.2.7 sar(系统活动报告)
- 2.2.8 oprofile
- 2.3 本章小结
- 第3章 性能工具:系统内存
- 3.1 内存性能统计信息
- 3.1.1 内存子系统和性能
- 3.1.2 内存子系统(虚拟存储器)
- 3.2 Linux性能工具:CPU与内存
- 3.2.1 vmstat(II)
- 3.2.2 top(2.x和3.x)
- 3.2.3 procinfo(II)
- 3.2.4 gnome-system-monitor(II)
- 3.2.5 free
- 3.2.6 slabtop
- 3.2.7 sar(II)
- 3.2.8 /proc/meminfo
- 3.3 本章小结
- 第4章 性能工具:特定进程CPU
- 4.1 进程性能统计信息
- 4.1.1 内核时间vs.用户时间
- 4.1.2 库时间vs.应用程序时间
- 4.1.3 细分应用程序时间
- 4.2 工具
- 4.2.1 time
- 4.2.2 strace
- 4.2.3 ltrace
- 4.2.4 ps(进程状态)
- 4.2.5 ld.so(动态加载器)
- 4.2.6 gprof
- 4.2.7 oprofile(II)
- 4.2.8 语言:静态(C和C++)vs.动态(Java和Mono)
- 4.3 本章小结
- 第5章 性能工具:特定进程内存
- 5.1 Linux内存子系统
- 5.2 内存性能工具
- 5.2.1 ps(II)
- 5.2.2 /proc/<PID>
- 5.2.3 memprof
- 5.2.4 valgrind(cachegrind)
- 5.2.5 kcachegrind
- 5.2.6 oprofile(III)
- 5.2.7 ipcs
- 5.2.8 动态语言(Java和Mono)
- 5.3 本章小结
- 第6章 性能工具:磁盘I/O
- 6.1 磁盘I/O介绍
- 6.2 磁盘I/O性能工具
- 6.2.1 vmstat(III)
- 6.2.2 iostat
- 6.2.3 sar(III)
- 6.2.4 lsof(列出打开文件)
- 6.3 缺什么
- 6.4 本章小结
- 第7章 性能工具:网络
- 7.1 网络I/O介绍
- 7.1.1 链路层的网络流量
- 7.1.2 协议层网络流量
- 7.2 网络性能工具
- 7.2.1 mii-tool(媒体无关接口工具)
- 7.2.2 ethtool
- 7.2.3 ifconfig(接口配置)
- 7.2.4 ip
- 7.2.5 sar(IV)
- 7.2.6 gkrellm
- 7.2.7 iptraf
- 7.2.8 netstat
- 7.2.9 etherape
- 7.3 本章小结
- 第8章 实用工具:性能工具助手
- 8.1 性能工具助手
- 8.1.1 自动执行和记录命令
- 8.1.2 性能统计信息的绘图与分析
- 8.1.3 调查应用程序使用的库
- 8.1.4 创建和调试应用程序
- 8.2 工具
- 8.2.1 bash
- 8.2.2 tee
- 8.2.3 script
- 8.2.4 watch
- 8.2.5 gnumeric
- 8.2.6 ldd
- 8.2.7 objdump
- 8.2.8 GNU调试器(gdb)
- 8.2.9 gcc(GNU编译器套件)
- 8.3 本章小结
- 第9章 使用性能工具发现问题
- 9.1 并非总是万灵药
- 9.2 开始追踪
- 9.3 优化应用程序
- 9.3.1 内存使用有问题?
- 9.3.2 启动时间有问题?
- 9.3.3 加载器引入延迟了吗?
- 9.3.4 CPU使用(或完成时长)有问题?
- 9.3.5 应用程序的磁盘使用有问题?
- 9.3.6 应用程序的网络使用有问题?
- 9.4 优化系统
- 9.4.1 系统是受CPU限制的吗?
- 9.4.2 单个进程是受CPU限制的吗?
- 9.4.3 一个或多个进程使用了大多数的系统CPU吗?
- 9.4.4 一个或多个进程使用了单个CPU的大多数时间?
- 9.4.5 内核服务了许多中断吗?
- 9.4.6 内核的时间花在哪儿了?
- 9.4.7 交换空间的使用量在增加吗?
- 9.4.8 系统是受I/O限制的吗?
- 9.4.9 系统使用磁盘I/O吗?
- 9.4.10 系统使用网络I/O吗?
- 9.5 优化进程CPU使用情况
- 9.5.1 进程在用户还是内核空间花费了时间?
- 9.5.2 进程有哪些系统调用,完成它们花了多少时间?
- 9.5.3 进程在哪些函数上花了时间?
- 9.5.4 热点函数的调用树是怎样的?
- 9.5.5 Cache缺失与热点函数或源代码行是对应的吗?
- 9.6 优化内存使用情况
- 9.6.1 内核的内存使用量在增加吗?
- 9.6.2 内核使用的内存类型是什么?
- 9.6.3 特定进程的驻留集大小在增加吗?
- 9.6.4 共享内存的使用量增加了吗?
- 9.6.5 哪些进程使用了共享内存?
- 9.6.6 进程使用的内存类型是什么?
- 9.6.7 哪些函数正在使用全部的栈?
- 9.6.8 哪些函数的文本大小最大?
- 9.6.9 进程使用的库有多大?
- 9.6.10 哪些函数分配堆内存?
- 9.7 优化磁盘I/O使用情况
- 9.7.1 系统强调特定磁盘吗?
- 9.7.2 哪个应用程序访问了磁盘?
- 9.7.3 应用程序访问了哪些文件?
- 9.8 优化网络I/O使用情况
- 9.8.1 网络设备发送/接收量接近理论极限了吗?
- 9.8.2 网络设备产生了大量错误吗?
- 9.8.3 设备上流量的类型是什么?
- 9.8.4 特定进程要为流量负责吗?
- 9.8.5 流量是哪个远程系统发送的?
- 9.8.6 哪个应用程序套接字要为流量负责?
- 9.9 尾声
- 9.10 本章小结
- 第10章 性能追踪1:受CPU限制的应用程序(GIMP)
- 10.1 受CPU限制的应用程序
- 10.2 确定问题
- 10.3 找到基线/设置目标
- 10.4 为性能追踪配置应用程序
- 10.5 安装和配置性能工具
- 10.6 运行应用程序和性能工具
- 10.7 分析结果
- 10.8 转战网络
- 10.9 增加图像缓存
- 10.10 遇到(分片引发的)制约
- 10.11 解决问题
- 10.12 验证正确性
- 10.13 后续步骤
- 10.14 本章小结
- 第11章 性能追踪2:延迟敏感的应用程序(nautilus)
- 11.1 延迟敏感的应用程序
- 11.2 确定问题
- 11.3 找到基线/设置目标
- 11.4 为性能追踪配置应用程序
- 11.5 安装和配置性能工具
- 11.6 运行应用程序和性能工具
- 11.7 编译和检查源代码
- 11.8 使用gdb生成调用跟踪
- 11.9 找到时间差异
- 11.10 尝试一种可能的解决方案
- 11.11 本章小结
- 第12章 性能追踪3:系统级迟缓(prelink)
- 12.1 调查系统级迟缓
- 12.2 确定问题
- 12.3 找到基线/设置目标
- 12.4 为性能追踪配置应用程序
- 12.5 安装和配置性能工具
- 12.6 运行应用程序和性能工具
- 12.7 模拟解决方案
- 12.8 报告问题
- 12.9 测试解决方案
- 12.10 本章小结
- 第13章 性能工具:下一步是什么
- 13.1 Linux工具的现状
- 13.2 Linux还需要什么样的工具
- 13.2.1 漏洞1:性能统计信息分散
- 13.2.2 漏洞2:没有可靠并完整的调用树
- 13.2.3 漏洞3:I/O的归因
- 13.3 Linux的性能调优
- 13.3.1 可用的源代码
- 13.3.2 容易联系开发者
- 13.3.3 Linux还年轻
- 13.4 本章小结
- 附录A 性能工具的位置
- 附录B 安装oprofile
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。