高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧

高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Igor Ljubuncic) ,
2018-02
版次: 1
ISBN: 9787111589785
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 253页
  • 本书由Intel架构师撰写,创造性地采用Linux态势感知方法来解决高性能计算的问题,涵盖技术、监控和配置管理等多个方面。书中针对大规模数据中心、云平台架构和高性能计算环境,建立了一套基于统计工程和实验设计的方法论,从识别问题和理解问题,到再现问题和解决问题,一步一步地排除故障,形成了一套高效的工作流程。书中包含大量实战案例和代码,并介绍了不同工具的使用技巧,适合从事高性能计算相关工作的技术人员和管理人员参考。 Contents 目  录 

    译者序 

    前 言 

    致 谢 

    引言 数据中心与高端计算 1 

    数据中心一览 1 

    现代数据中心布局 1 

    欢迎来到BORG,抵抗是徒劳的 2 

    那就是力量 2 

    企业与Linux 2 

    经典的办公室 2 

    Linux计算环境 3 

    Linux云 3 

    10000个1不等于10000 3 

    问题的非线性扩展 3 

    大数定律 4 

    同质化 4 

    企业的当务之急 4 

    7天24小时全天候开放 5 

    任务危急 5 

    停机时间等于金钱 5 

    千里之堤溃于蚁穴 5 

    参考文献 5 

    第1章 你有问题吗 6 

    问题的识别 6 

    如果森林里有一棵树倒下,没人能听到 6 

    一步一步地识别 7 

    总是优先使用简单工具 7 

    过多的知识导致误区 9 

    问题的定义 9 

    当前发生或可能的问题 10 

    停机规模和严重性与业务需求 11 

    已知与未知 13 

    问题的再现 13 

    你能隔离问题吗 13 

    偶发性问题需要特殊处理 14 

    计划如何控制混乱 14 

    放手是最难的事 15 

    因与果 16 

    不要流连于症状 16 

    先有鸡还是先有蛋 16 

    严格控制环境改变,直到你理解了问题的本质 18 

    如果改变,确保你知道预期结果是什么 18 

    结论 19 

    参考文献 19 

    第2章 开始研究 20 

    隔离问题 20 

    推动从生产到测试 20 

    重新运行获得结果所需的最小集 21 

    忽略偏见信息,避免假设 21 

    与健康系统和已知参考的比较 22 

    那不是程序错误,而是一个特性 22 

    将预期结果与正常系统作比较 23 

    性能和行为的参考是必需的 24 

    对变化的线性与非线性响应 24 

    一次一个变量 25 

    线性复杂度的问题 25 

    非线性问题 25 

    响应可能会延迟或掩盖 25 

    Y到X而不是X到Y 26 

    组件搜索 26 

    结论 26 

    第3章 基础研究 27 

    刻画系统状态 27 

    环境监控 27 

    机器可访问性、响应性和正常 

    运行时间 27 

    本地和远程登录以及管理控制台 29 

    喊狼来了的监控 29 

    读取系统信息和日志 30 

    使用ps和top 30 

    系统日志 36 

    进程记账 39 

    检查命令执行的模式 40 

    与问题表现相关 41 

    避免快速的结论 41 

    统计作为辅助 41 

    vmstat 41 

    iostat 43 

    系统活动报告(SAR) 47 

    结论 49 

    参考文献 50 

    第4章 深入探讨系统 51 

    使用/proc 51 

    层次 52 

    每个进程的变量 52 

    内核数据 56 

    进程空间 60 

    检查内核可调参数 63 

    sys子系统 63 

    内存管理 64 

    文件系统管理 65 

    网络管理 65 

    SunRPC 66 

    内核 67 

    sysctl 69 

    结论 70 

    参考文献 70 

    第5章 变身极客——跟踪和调试应用 72 

    使用strace和ltrace 72 

    strace 72 

    ltrace 86 

    结合两种工具获得最佳结果 87 

    其他工具 90 

    使用perf 93 

    介绍 93 

    为什么不用OProfile 94 

    前提 94 

    基本使用 94 

    基础实例 99 

    高级实例 103 

    小结 107 

    使用gdb 107 

    介绍 107 

    前提 108 

    简单实例 108 

    不那么简单的实例 113 

    其他有用的命令 122 

    结论 124 

    参考文献 124 

    第6章 极客进级——应用和内核核心、内核调试器 126 

    收集应用核心 126 

    如何转储应用核心 127 

    收集内核核心(Kdump) 132 

    Kdump服务概览 133 

    Kdump配置 137 

    测试配置 143 

    Kdump网络转储功能 145 

    Kdump使用 146 

    小结 147 

    崩溃分析(crash) 147 

    前提 147 

    运行crash 148 

    内核崩溃核心分析 156 

    超级极客技能:C代码分析 167 

    小例子 168 

    中级例子 172 

    困难的例子 176 

    内核崩溃的bug报告 182 

    崩溃分析结果 184 

    内核bug与硬件错误 185 

    小结 186 

    内核调试器 186 

    内核编译 186 

    进入调试器 187 

    基本命令 187 

    小结 189 

    结论 189 

    参考文献 189 

    第7章 问题的解决方案 191 

    如何处理收集到的数据 191 

    文档 191 

    数据的杂乱 193 

    最佳实践 195 

    搜索引擎、邮件列表以及供应商支持 202 

    找到根本原因 203 

    消除问题 204 

    实现和跟踪 206 

    结论 207 

    参考文献 208 

    第8章 监控和预防 209 

    监控什么数据 209 

    过多的数据比没有数据更糟 209 

    Y到X将定义你所需要的监控 210 

    不要害怕改变 210 

    如何监控和分析趋势 211 

    设置你关心的监控 211 

    监控不等于报告 212 

    不监控随机指标 212 

    定义数学趋势 213 

    如何应对趋势 215 

    当它来得太晚 216 

    内务管理 217 

    预防是解决问题的关键 217 

    配置审核 218 

    为什么审核有用 218 

    控制环境的变化 219 

    安全方面 219 

    系统数据收集工具 219 

    定制工具 220 

    商业支持 220 

    结论 221 

    参考文献 221 

    第9章 让你的环境更安全、更健壮 222 

    版本控制 222 

    为什么需要版本控制 222 

    Subversion、Git及相关软件 223 

    简单回滚 223 

    配置管理 223 

    变懒:自动化 224 

    大环境下的熵 225 

    掌控混乱 225 

    配置管理软件 225 

    环境中引入变化的正确方法 226 

    一次一个变化 226 

    不要急着冲到截止时间 227 

    理解影响 228 

    没报告问题意味着什么都没有 228 

    连锁反应 228 

    结论 229 

    参考文献 229 

    第10章 微调系统性能 230 

    日志大小与日志轮转 230 

    系统日志会一直增长 230 

    慢点,倒带 232 

    确定消息的内容 232 

    文件系统调优 234 

    Ext3/4文件系统 234 

    XFS文件系统 235 

    sysfs文件系统 236 

    层次 236 

    blo
  • 内容简介:
    本书由Intel架构师撰写,创造性地采用Linux态势感知方法来解决高性能计算的问题,涵盖技术、监控和配置管理等多个方面。书中针对大规模数据中心、云平台架构和高性能计算环境,建立了一套基于统计工程和实验设计的方法论,从识别问题和理解问题,到再现问题和解决问题,一步一步地排除故障,形成了一套高效的工作流程。书中包含大量实战案例和代码,并介绍了不同工具的使用技巧,适合从事高性能计算相关工作的技术人员和管理人员参考。
  • 目录:
    Contents 目  录 

    译者序 

    前 言 

    致 谢 

    引言 数据中心与高端计算 1 

    数据中心一览 1 

    现代数据中心布局 1 

    欢迎来到BORG,抵抗是徒劳的 2 

    那就是力量 2 

    企业与Linux 2 

    经典的办公室 2 

    Linux计算环境 3 

    Linux云 3 

    10000个1不等于10000 3 

    问题的非线性扩展 3 

    大数定律 4 

    同质化 4 

    企业的当务之急 4 

    7天24小时全天候开放 5 

    任务危急 5 

    停机时间等于金钱 5 

    千里之堤溃于蚁穴 5 

    参考文献 5 

    第1章 你有问题吗 6 

    问题的识别 6 

    如果森林里有一棵树倒下,没人能听到 6 

    一步一步地识别 7 

    总是优先使用简单工具 7 

    过多的知识导致误区 9 

    问题的定义 9 

    当前发生或可能的问题 10 

    停机规模和严重性与业务需求 11 

    已知与未知 13 

    问题的再现 13 

    你能隔离问题吗 13 

    偶发性问题需要特殊处理 14 

    计划如何控制混乱 14 

    放手是最难的事 15 

    因与果 16 

    不要流连于症状 16 

    先有鸡还是先有蛋 16 

    严格控制环境改变,直到你理解了问题的本质 18 

    如果改变,确保你知道预期结果是什么 18 

    结论 19 

    参考文献 19 

    第2章 开始研究 20 

    隔离问题 20 

    推动从生产到测试 20 

    重新运行获得结果所需的最小集 21 

    忽略偏见信息,避免假设 21 

    与健康系统和已知参考的比较 22 

    那不是程序错误,而是一个特性 22 

    将预期结果与正常系统作比较 23 

    性能和行为的参考是必需的 24 

    对变化的线性与非线性响应 24 

    一次一个变量 25 

    线性复杂度的问题 25 

    非线性问题 25 

    响应可能会延迟或掩盖 25 

    Y到X而不是X到Y 26 

    组件搜索 26 

    结论 26 

    第3章 基础研究 27 

    刻画系统状态 27 

    环境监控 27 

    机器可访问性、响应性和正常 

    运行时间 27 

    本地和远程登录以及管理控制台 29 

    喊狼来了的监控 29 

    读取系统信息和日志 30 

    使用ps和top 30 

    系统日志 36 

    进程记账 39 

    检查命令执行的模式 40 

    与问题表现相关 41 

    避免快速的结论 41 

    统计作为辅助 41 

    vmstat 41 

    iostat 43 

    系统活动报告(SAR) 47 

    结论 49 

    参考文献 50 

    第4章 深入探讨系统 51 

    使用/proc 51 

    层次 52 

    每个进程的变量 52 

    内核数据 56 

    进程空间 60 

    检查内核可调参数 63 

    sys子系统 63 

    内存管理 64 

    文件系统管理 65 

    网络管理 65 

    SunRPC 66 

    内核 67 

    sysctl 69 

    结论 70 

    参考文献 70 

    第5章 变身极客——跟踪和调试应用 72 

    使用strace和ltrace 72 

    strace 72 

    ltrace 86 

    结合两种工具获得最佳结果 87 

    其他工具 90 

    使用perf 93 

    介绍 93 

    为什么不用OProfile 94 

    前提 94 

    基本使用 94 

    基础实例 99 

    高级实例 103 

    小结 107 

    使用gdb 107 

    介绍 107 

    前提 108 

    简单实例 108 

    不那么简单的实例 113 

    其他有用的命令 122 

    结论 124 

    参考文献 124 

    第6章 极客进级——应用和内核核心、内核调试器 126 

    收集应用核心 126 

    如何转储应用核心 127 

    收集内核核心(Kdump) 132 

    Kdump服务概览 133 

    Kdump配置 137 

    测试配置 143 

    Kdump网络转储功能 145 

    Kdump使用 146 

    小结 147 

    崩溃分析(crash) 147 

    前提 147 

    运行crash 148 

    内核崩溃核心分析 156 

    超级极客技能:C代码分析 167 

    小例子 168 

    中级例子 172 

    困难的例子 176 

    内核崩溃的bug报告 182 

    崩溃分析结果 184 

    内核bug与硬件错误 185 

    小结 186 

    内核调试器 186 

    内核编译 186 

    进入调试器 187 

    基本命令 187 

    小结 189 

    结论 189 

    参考文献 189 

    第7章 问题的解决方案 191 

    如何处理收集到的数据 191 

    文档 191 

    数据的杂乱 193 

    最佳实践 195 

    搜索引擎、邮件列表以及供应商支持 202 

    找到根本原因 203 

    消除问题 204 

    实现和跟踪 206 

    结论 207 

    参考文献 208 

    第8章 监控和预防 209 

    监控什么数据 209 

    过多的数据比没有数据更糟 209 

    Y到X将定义你所需要的监控 210 

    不要害怕改变 210 

    如何监控和分析趋势 211 

    设置你关心的监控 211 

    监控不等于报告 212 

    不监控随机指标 212 

    定义数学趋势 213 

    如何应对趋势 215 

    当它来得太晚 216 

    内务管理 217 

    预防是解决问题的关键 217 

    配置审核 218 

    为什么审核有用 218 

    控制环境的变化 219 

    安全方面 219 

    系统数据收集工具 219 

    定制工具 220 

    商业支持 220 

    结论 221 

    参考文献 221 

    第9章 让你的环境更安全、更健壮 222 

    版本控制 222 

    为什么需要版本控制 222 

    Subversion、Git及相关软件 223 

    简单回滚 223 

    配置管理 223 

    变懒:自动化 224 

    大环境下的熵 225 

    掌控混乱 225 

    配置管理软件 225 

    环境中引入变化的正确方法 226 

    一次一个变化 226 

    不要急着冲到截止时间 227 

    理解影响 228 

    没报告问题意味着什么都没有 228 

    连锁反应 228 

    结论 229 

    参考文献 229 

    第10章 微调系统性能 230 

    日志大小与日志轮转 230 

    系统日志会一直增长 230 

    慢点,倒带 232 

    确定消息的内容 232 

    文件系统调优 234 

    Ext3/4文件系统 234 

    XFS文件系统 235 

    sysfs文件系统 236 

    层次 236 

    blo
查看详情
您可能感兴趣 / 更多
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能高分子材料
韦本辉
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能之道: SRE视角下的运维架构实践
王力
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能MySQL(第4版)
[美]Silvia Botros(西尔维亚·博特罗斯;Jeremy Tinley(杰里米·廷利
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能齿轮精密数控加工理论与技术
王时龙;李国龙;曹华军
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能精量排种理论与技术
王金武;唐汉
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能Linux网络编程核心技术揭秘
朱文伟 李建英
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能超标量CPU:微架构剖析与设计
李东声 编著
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能磷酸锰铁锂电池材料——制备、表征与应用
梁广川 主编;王丽 副主编;张克强
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能计算机体系结构
吴迪;卢宇彤;杜云飞;陈志广;胡淼
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能并行运行时系统:设计与实现 [美]迈克尔·克莱姆
[美]迈克尔·克莱姆;[美]吉姆·考尼
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能复合纤维材料混凝土结构设计与施工
江世永;周建庭;飞渭;李炳宏
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能Java系统权威指南
李家智
系列丛书 / 更多
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能高分子材料
韦本辉
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能之道: SRE视角下的运维架构实践
王力
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能MySQL(第4版)
[美]Silvia Botros(西尔维亚·博特罗斯;Jeremy Tinley(杰里米·廷利
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能齿轮精密数控加工理论与技术
王时龙;李国龙;曹华军
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能精量排种理论与技术
王金武;唐汉
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能Linux网络编程核心技术揭秘
朱文伟 李建英
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能超标量CPU:微架构剖析与设计
李东声 编著
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能磷酸锰铁锂电池材料——制备、表征与应用
梁广川 主编;王丽 副主编;张克强
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能计算机体系结构
吴迪;卢宇彤;杜云飞;陈志广;胡淼
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能并行运行时系统:设计与实现 [美]迈克尔·克莱姆
[美]迈克尔·克莱姆;[美]吉姆·考尼
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能复合纤维材料混凝土结构设计与施工
江世永;周建庭;飞渭;李炳宏
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能Java系统权威指南
李家智
相关图书 / 更多
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能高分子材料
韦本辉
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能之道: SRE视角下的运维架构实践
王力
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能MySQL(第4版)
[美]Silvia Botros(西尔维亚·博特罗斯;Jeremy Tinley(杰里米·廷利
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能齿轮精密数控加工理论与技术
王时龙;李国龙;曹华军
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能精量排种理论与技术
王金武;唐汉
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能Linux网络编程核心技术揭秘
朱文伟 李建英
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能超标量CPU:微架构剖析与设计
李东声 编著
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能磷酸锰铁锂电池材料——制备、表征与应用
梁广川 主编;王丽 副主编;张克强
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能计算机体系结构
吴迪;卢宇彤;杜云飞;陈志广;胡淼
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能并行运行时系统:设计与实现 [美]迈克尔·克莱姆
[美]迈克尔·克莱姆;[美]吉姆·考尼
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能复合纤维材料混凝土结构设计与施工
江世永;周建庭;飞渭;李炳宏
高性能计算的问题解决之道:Linux态势感知方法、实用工具及实践技巧
高性能Java系统权威指南
李家智