Linux性能优化菲利普G.伊佐特Linux系统程序优化pdf下载pdf下载

Linux性能优化菲利普G.伊佐特Linux系统程序优化百度网盘pdf下载

作者:
简介:本篇主要提供Linux性能优化菲利普G.伊佐特Linux系统程序优化pdf下载
出版社:互动创新图书专营店
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

 书[0名0]:  Linux性能[0优0]化[按需印刷]|5654134
 图书定价: 69元
 图书作者: (美)菲利普 G.伊佐特(Phillip G. Ezolt)
 出版社:  [1机1]械工业出版社
 出版日期:  2017/4/1 0:00:00
 ISBN号: 9787111560173
 开本: 16开
 页数: 0
 版次: 1-1
 作者简介
菲利普G.伊佐特,业内[0知0][0名0]的Linux性能[0优0]化专家,拥有20多年Linux和Unix系统性能[0优0]化[纟巠]验。他曾[纟巠]用6年时间为Compaq公司的Alpha性能团队设计Linux性能[0优0]化工具。此外,他协助Compaq公司制定了SPECCPU2000及后继版本的CPU性能度量标准。他还长期从事开发人员和系统管理者的Linux性能[0优0]化培训工作。
 内容简介
在[0当0]前复杂的[0大0]规模系统场景下,[女子]的应用程序性能比以往任何时候都更重要,但是获得这样的性能也更加困难。Linux由于其开源特性,已[纟巠]具有一系列[0优0]化工具,只是这些工具散布在互联网上,工具的相关文档也很少,只有少数专家[0知0]道如何综合使用这些工具来解决实际问题。基于此,菲利普G.伊佐特著贺莲、龚奕利译的《Linux性能[0优0]化/Linux\\Unix技术丛书》介绍了[0当0]前常用的Linux[0优0]化工具,展示了它们是如何行之有效地[扌是]升整体应用程序性能的。通过真实案例,向开发人员演示了怎样定位影响性能的源代码行,使系统管理人员和应用程序开发人员能够迅速深入系统瓶颈,实施解决方案。
  通过阅读《Linux/Unix技术丛书:Linux性能[0优0]化》,你能够:
  在不熟悉底层系统的情况下,快速识别系统瓶颈。
  针对具体问题,找到并选择正确的性能工具。
  深入理解系统性能及[0优0]化问题。
  掌握[0优0]化系统CPU、用户CPU、内存、网络I/O和磁盘I/O的方[0法0],并了解它们之间的关系。
  掌握修复计算密集型(CPU-bound)、延迟敏感和I/O密集型(I/O—bound)的应用程序的方[0法0],跟随案例轻松地配置自己的环境。
  安装并使用Linux系统的高级全系统分析器——oprofile。
  无论读者的技术背景如何,性能[0优0]化的[亲斤]手都能通过[0学0]习《Linux/Unix技术丛书:Linux性能[0优0]化》,掌握一系列清晰实用的[0优0]化原则和策略,并获得丰富的Linux[0知0]识,解决Linux系统和应用程序的[0优0]化问题,增加[0商0]业价值并[扌是]高用户满意度。
 目录

译者序
前 言
致 谢
[0第0]1章 性能追踪建议1
1.1 常用建议2
1.1.1 记[0大0]量的笔记(记录所有的事情)2
1.1.2 自动执行重复任务3
1.1.3 尽可能选择低开销工具4
1.1.4 使用多个工具来搞清楚问题4
1.1.5 相信你的工具5
1.1.6 利用其他人的[纟巠]验(慎重)5
1.2 性能调查概要6
1.2.1 找到指标、基线和目标6
1.2.2 追踪近似问题7
1.2.3 查看问题是否早已解决7
1.2.4 项目开始(启动调查)8
1.2.5 记录,记录,记录9
1.3 本章小结9
[0第0]2章 性能工具:系统CPU10
2.1 CPU性能统计信息10
2.1.1 运行队列统计10
2.1.2 上下文切换11
2.1.3 中断12
2.1.4 CPU使用率12
2.2 Linux性能工具:CPU12
2.2.1 vmstat(虚拟内存统计)13
2.2.2 [T**](2.0.x版本)16
2.2.3 [T**](3.x.x版本)20
2.2.4 procinfo(从/proc文[亻牛]系统显示信息)24
2.2.5 g[0no0]me-system-monitor26
2.2.6 mpstat(多处理器统计)27
2.2.7 sar(系统活动报告)29
2.2.8 oprofile33
2.3 本章小结39
[0第0]3章 性能工具:系统内存40
3.1 内存性能统计信息40
3.1.1 内存子系统和性能40
3.1.2 内存子系统(虚拟存储器)40
3.2 Linux性能工具:CPU与内存42
3.2.1 vmstat(II)43
3.2.2 [T**](2.x和3.x)47
3.2.3 procinfo(II)49
3.2.4 g[0no0]me-system-monitor(II)51
3.2.5 free52
3.2.6 slab[T**]54
3.2.7 sar(II)55
3.2.8 / proc / meminfo58
3.3 本章小结60
[0第0]4章 性能工具:特定进程CPU61
4.1 进程性能统计信息61
4.1.1 内核时间vs.用户时间61
4.1.2 库时间vs.应用程序时间62
4.1.3 细分应用程序时间62
4.2 工具62
4.2.1 time62
4.2.2 strace65
4.2.3 ltrace67
4.2.4 ps(进程状态)70
4.2.5 ld.so(动态加载器)72
4.2.6 gprof74
4.2.7 oprofile(II)77
4.2.8 语言:静态(C和C++)vs.动态(Java和Mo[0no0])82
4.3 本章小结82
[0第0]5章 性能工具:特定进程内存83
5.1 Linux内存子系统83
5.2 内存性能工具84
5.2.1 ps(II)84
5.2.2 /proc/85
5.2.3 memprof88
5.2.4 valgrind(cachegrind)90
5.2.5 kcachegrind95
5.2.6 oprofile(III)99
5.2.7 ipcs103
5.2.8 动态语言(Java和Mo[0no0])107
5.3 本章小结107
[0第0]6章 性能工具:磁盘I/O108
6.1 磁盘I/O介绍108
6.2 磁盘I/O性能工具109
6.2.1 vmstat(III)109
6.2.2 iostat113
6.2.3 sar(III)115
6.2.4 lsof(列出打开文[亻牛])117
6.3 缺什么119
6.4 本章小结119
[0第0]7章 性能工具:网络120
7.1 网络I/O介绍120
7.1.1 链路层的网络流量121
7.1.2 协议层网络流量122
7.2 网络性能工具122
7.2.1 mii-tool(媒体无关接口工具)123
7.2.2 ethtool123
7.2.3 ifconfig(接口配置)124
7.2.4 ip126
7.2.5 sar(IV)127
7.2.6 gkrellm129
7.2.7 iptraf131
7.2.8 netstat132
7.2.9 etherape134
7.3 本章小结136
[0第0]8章 实用工具:性能工具助手137
8.1 性能工具助手137
8.1.1 自动执行和记录命令138
8.1.2 性能统计信息的绘图与分析138
8.1.3 调查应用程序使用的库138
8.1.4 创建和调试应用程序138
8.2 工具139
8.2.1 bash139
8.2.2 tee140
8.2.3 script141
8.2.4 watch142
8.2.5 gnumeric144
8.2.6 ldd146
8.2.7 objdump146
8.2.8 GNU调试器(gdb)147
8.2.9 gcc(GNU编译器套[亻牛])149
8.3 本章小结152
[0第0]9章 使用性能工具发现问题153
9.1 并非总是万灵[yao]153
9.2 开始追踪153
9.3 [0优0]化应用程序154
9.3.1 内存使用有问题?154
9.3.2 启动时间有问题?154
9.3.3 加载器引入延迟了吗?154
9.3.4 CPU使用(或完成时长)有问题?155
9.3.5 应用程序的磁盘使用有问题?155
9.3.6 应用程序的网络使用有问题?155
9.4 [0优0]化系统155
9.4.1 系统是受CPU限制的吗?156
9.4.2 单个进程是受CPU限制的吗?157
9.4.3 一个或多个进程使用了[0大0]多数的系统CPU吗?157
9.4.4 一个或多个进程使用了单个CPU的[0大0]多数时间?157
9.4.5 内核服务了许多中断吗?157
9.4.6 内核的时间花在哪儿了?158
9.4.7 交换空间的使用量在增加吗?158
9.4.8 系统是受I/O限制的吗?158
9.4.9 系统使用磁盘I/O吗?158
9.4.10 系统使用网络I/O吗?158
9.5 [0优0]化进程CPU使用情况159
9.5.1 进程在用户还是内核空间花费了时间?160
9.5.2 进程有哪些系统调用,完成它们花了多少时间?160
9.5.3 进程在哪些函数上花了时间?160
9.5.4 热点函数的调用树是怎样的?160
9.5.5 Cache缺失与热点函数或源代码行是对应的吗?161
9.6 [0优0]化内存使用情况161
9.6.1 内核的内存使用量在增加吗?161
9.6.2 内核使用的内存类型是什么?161
9.6.3 特定进程的驻留集[0大0]小在增加吗?162
9.6.4 共享内存的使用量增加了吗?163
9.6.5 哪些进程使用了共享内存?163
9.6.6 进程使用的内存类型是什么?163
9.6.7 哪些函数正在使用全部的栈?163
9.6.8 哪些函数的文本[0大0]小[z1u1i][0大0]?163
9.6.9 进程使用的库有多[0大0]?164
9.6.10 哪些函数分配堆内存?164
9.7 [0优0]化磁盘I/O使用情况164
9.7.1 系统强调特定磁盘吗?165
9.7.2 哪个应用程序访问了磁盘?165
9.7.3 应用程序访问了哪些文[亻牛]?165
9.8 [0优0]化网络I/O使用情况165
9.8.1 网络设备发送/接收量接近理论[0极0]限了吗?166
9.8.2 网络设备产生了[0大0]量错误吗?167
9.8.3 设备上流量的类型是什么?167
9.8.4 特定进程要为流量负责吗?167
9.8.5 流量是哪个远程系统发送的?167
9.8.6 哪个应用程序套接字要为流量负责?167
9.9 尾声168
9.10 本章小结168
[0第0]10章 性能追踪1:受CPU限制的应用程序(GIMP)169
10.1 受CPU限制的应用程序169
10.2 确定问题170
10.3 找到基线/设置目标170
10.4 为性能追踪配置应用程序171
10.5 安装和配置性能工具172
10.6 运行应用程序和性能工具172
10.7 分析结果173
10.8 转战网络177
10.9 增加图像缓存179
10.10 遇到(分片引发的)制约179
10.11 解决问题180
10.12 验证正确性181
10.13 后续步骤181
10.14 本章小结182
[0第0]11章 性能追踪2:延迟敏感的应用程序(nautilus)183
11.1 延迟敏感的应用程序183
11.2 确定问题184
11.3 找到基线/设置目标184
11.4 为性能追踪配置应用程序186
11.5 安装和配置性能工具186
11.6 运行应用程序和性能工具187
11.7 编译和检查源代码191
11.8 使用gdb生成调用跟踪193
11.9 找到时间差异197
11.10 尝试一种可能的解决方案197
11.11 本章小结199
[0第0]12章 性能追踪3:系统级迟缓(prelink)200
12.1 调查系统级迟缓200
12.2 确定问题200
12.3 找到基线/设置目标201
12.4 为性能追踪配置应用程序204
12.5 安装和配置性能工具204
12.6 运行应用程序和性能工具205
12.7 模拟解决方案209
12.8 报告问题212
12.9 测试解决方案214
12.10 本章小结215
[0第0]13章 性能工具:下一步是什么216
13.1 Linux工具的现状216
13.2 Linux还需要什么样的工具216
13.2.1 漏洞1:性能统计信息分散217
13.2.2 漏洞2:没有可靠并完整的调用树217
13.2.3 漏洞3:I/O的归因218
13.3 Linux的性能调[0优0]218
13.3.1 可用的源代码218
13.3.2 容易联系开发者218
13.3.3 Linux还年轻219
13.4 本章小结219
附录A 性能工具的位置220
附录B 安装oprofile222