3dwoo大學簡體電腦書店
高性能計算的問題解決之道:Linux態勢感知方法、實用工具及實踐技巧
( 簡體 字)
作者:[美]伊戈爾·盧布希斯(Igor Ljubuncic) 著類別:1. -> 作業系統 -> Linux
出版社:機械工業出版社高性能計算的問題解決之道:Linux態勢感知方法、實用工具及實踐技巧 3dWoo書號: 48495
詢問書籍請說出此書號!
有庫存
NT售價: 395
出版日:2/1/2018
頁數:252
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111589785 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
譯者序

前 言

致 謝

引言 數據中心與高端計算 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

block子系統 237

FS子系統 237

內核子系統 237

模塊子系統 238

結合proc和sys 238

內存管理實例 238

CPU調度實例 238

網絡優化實例 241

結論 243

參考文獻 243

第11章 整合所有的部分 245

自上而下的方法 245

保持簡單:從簡單開始 245

首先理解環境 245

它就像洋蔥:分層而且會使你流淚 246

“自我消失”的問題會重現,且 擴大影響 246

沒有捷徑:努力是金科玉律 246

使用的方法學 247

文檔 247

一種清晰的方法 247

Y到X應該是座右銘 247

統計工程不受重視 248

數學是強大的,但沒人用 248

使用的工具 248

使用的工具概述 248

所選工具的優缺點 249

從簡單到復雜 249

不要過多涉獵:知識是你的敵人 249

逐步進階的方法 249

不要害怕退步 250

有時你只需要緩解問題 250

操作約束 250

錢,錢,錢 250

你的客戶永遠無法忍受停機 250

你將不得不妥協 251

聰明的做法 251

分享就是關懷 251

請教別人:他們以前碰到過類似問題 252

工作安全根本沒有安全可言 252

授人以魚或者授人以漁 253

只有你知道什么對你而言是最好的 253

結論 253
數據中心7×24小時全天候運行,支撐著數以億計的互聯網服務和高性能計算任務,任何一個微小的bug都有可能導致沉重的損失。然而,面對來自數據中心的故障警報,我們卻幾乎沒有一種統一的方法來解決問題。



本書創造性地引入態勢感知方法,基于統計工程和實驗設計,將故障排除這門依賴直覺的藝術轉化為高效的工作流程。作者將多年來為基于Intel的系統開發解決方案的經驗以生動的形式呈現于書中,既包含對技術性問題的分析,又包含對技能的擴展和深入。特別是,在內核調試中通過對系統崩潰的再現來快速定位bug,充分展現了Linux內核的魅力。跟隨作者精心設計的學習路徑,你將逐步熟悉不同工具的使用技巧,從基礎問題進階高級實戰,層層深入,最終成為解決問題的高手。



本書是為你準備的:

你的數據中心承擔著關鍵計算任務,不容有失,如何提供零失誤的技術保障?

你的系統陷入重度危機,特別工作小組怎樣通力攻關,用最短時間恢復服務?

你編寫腳本、調試工具、繪制圖表、挖掘數據,同時也日益桎梏于知識與經驗。

日志在屏幕上滾動,監控在捕捉系統的“呼吸”,而你仍然感受不到問題爆發的前兆。

客戶抱怨應接不暇,面對相同問題你卻只是重復“發明輪子”,沒有一套科學的方法。
我花了大部分的Linux職業生涯在數著成千上萬的服務器,就像一個音樂家盯著樂譜能看到在和聲中隱藏的波形。過了一段時間,我開始了解數據中心的工作模式和行為。它們就像活著、會呼吸一般,有自己的跌宕起伏、周期和不同尋常。它們遠不止是簡單的疊加,當你把人作為元素添加到方程中,更是變得不可預知。

在諸如大型數據中心、云平臺架構和高性能的環境中,大型部署管理是一項非常微妙的任務。它需要大量的經驗、努力和對技術的理解來創造一個成功而高效的工作流程。未來的愿景和經營戰略也是需要的。但在相當多的時候,其中某一個重要部分是缺失的。

在解決問題時,沒有通盤戰略。

本書是我的一個創造性嘗試。那些年,在我設計解決方案和產品致力于使我掌控的數據中心變得更好、更強大且更高效的時候,也暴露了我在解決問題上的根本差距。人們很難完全理解這意味著什么。是的,它涉及工具和非法侵入系統。你可能會編寫一些腳本,或者花很長時間盯著日志在屏幕上滾動。你可能會繪制圖表來顯示數據趨勢。你可能會向同事請教他們領域的問題。你可能會參與或領導特別工作組試圖解決危急問題和恢復供電。但在最后,就像拼圖一樣,沒有一個統一的方法能解決所有的問題。

態勢感知的問題解決方法借鑒自科學領域,它試圖用數學來代替人的直覺。我們將使用統計工程和實驗設計以對抗混亂。我們會慢慢地、系統地、一步一步地工作,努力找到一種統一的方法用于解決同類問題。我們關注打破數據神話,擺脫一些波及數據中心的偏見和傳統。然后,我們將把系統故障排除的藝術轉化為產品。這可能聽起來很殘酷,藝術將按重量出售,但當你深入閱讀本書的時候,其中的必要性就變得顯而易見。你的那些不自在,在原本無論接觸監控、變化控制和管理、自動化以及其他哪怕是最好的實踐都會有的不自在,統統將會慢慢融入現代數據中心。

最后同樣重要的是,請不要忘記我們盡一切努力去研究和解決問題的初衷——樂趣和好奇心,這正是讓我們成為工程師和科學家的真正原因,正是讓我們熱愛數據中心技術編織的混亂、忙碌而又瘋狂的世界的原因。

快來和我們一路同行吧。



Igor Ljubuncic
pagetop