購物比價找書網找車網
FindBook  
 有 1 項符合

深入理解Linux進程與內存:修煉底層內功,掌握高性能原理

的圖書
深入理解Linux進程與內存:修煉底層內功,掌握高性能原理 深入理解Linux進程與內存:修煉底層內功,掌握高性能原理

作者:張彥飛 
出版社:電子工業出版社
出版日期:2024-07-01
語言:簡體中文   規格:平裝 / 535頁 / 16k/ 19 x 26 x 2.68 cm / 普通級/ 部份全彩 / 1-1
圖書選購
型式價格供應商所屬目錄
 
$ 1188
博客來 博客來
作業系統
圖書介紹 - 資料來源:博客來   評分:
圖書名稱:深入理解Linux進程與內存:修煉底層內功,掌握高性能原理

內容簡介

國內大部分的開發者和公司都從事的是應用層的開發,平時大家更多關注的是應用層的開發技術。但應用層是建立在CPU和內存等硬件、操作系統內核、語言運行時的基礎之上的。如果缺乏對這些底層知識的理解,駕馭技術的能力就無法精進,也很難開發出高性能、高穩定性的應用。
 
本書主要包括CPU和內存硬件、進程創建和調度原理、虛擬內存底層機制、Go 用戶態協程實現、容器cgroup資源限制,以及throttle、CPU利用率和負載等性能指標統計原理等內容,最後過渡到性能優化手段,帶領大家修煉底層內功,掌握高性能原理。
 

作者介紹

張彥飛,有十多年一線大廠大型互聯網公司項目經驗。善於歸納總結內核等底層技術原理。他的技術文章幫助很多讀者提升了對底層的理解,深受廣大技術愛好者好評。個人微信公眾號“開發內功修煉”在全網超過十萬讀者。
 
 

目錄

 
第1章 CPU硬件原理 / 1
1.1 CPU的生產過程 / 2
1.2 個人電腦CPU硬件簡介 / 3
1.2.1 個人電腦CPU代際簡介 / 4
1.2.2 個人電腦CPU內部架構 / 6
1.3 服務器CPU硬件簡介 / 7
1.3.1 服務器CPU代際簡介 / 8
1.3.2 服務器CPU內部架構 / 9
1.3.3 服務器CPU片內總線 / 10
1.3.4 服務器CPU片間互聯 / 12
1.4 CPU核原理 / 15
1.4.1 CPU核內部結構 / 15
1.4.2 CPU的工作頻率 / 19
1.4.3 物理核與邏輯核 / 20
1.4.4 CPU的L1/L2/L3緩存查看 / 22
1.4.5 CPU的TLB緩存查看 / 25
1.5 本章總結 / 28

第2章 內存硬件原理 / 30
2.1 CPU對內存的硬件支持 / 31
2.1.1 CPU的內存控制器 / 31
2.1.2 CPU支持的內存代際 / 32
2.1.3 CPU支持的內存模塊規格 / 34
2.1.4 服務器CPU支持的ECC內存 / 36
2.2 內存硬件內部結構 / 44
2.2.1 內存的Rank與位寬 / 45
2.2.2 內存Chip內部構成 / 45
2.2.3 服務器內存顆粒構成 / 47
2.3 內存IO原理 / 48
2.3.1 內存延遲 / 48
2.3.2 內存IO過程 / 49
2.3.3 內存Burst IO / 51
2.4 存儲性能測試 / 52
2.4.1 延時測試 / 52
2.4.2 帶寬測試 / 55
2.5 本章總結 / 57

第3章 進程、線程的對比 / 58
3.1 進程、線程定義 / 59
3.1.1 進程、線程狀態 / 61
3.1.2 進程ID與線程ID / 62
3.1.3 進程樹關係 / 63
3.1.4 進程調度優先級 / 63
3.1.5 進程地址空間 / 64
3.1.6 進程文件系統信息(當前目錄等) / 65
3.1.7 進程打開的文件信息 / 66
3.1.8 命名空間 / 67
3.2 進程的創建 / 69
3.2.1 Nginx使用fork創建worker / 69
3.2.2 fork系統調用原理 / 70
3.2.3 本節小結 / 84
3.3 線程的創建 / 85
3.3.1 線程與進程創建的異同 / 87
3.3.2 fork創建線程的詳細過程 / 88
3.4 進程與線程的異同匯總 / 93
3.5 本章總結 / 94

第4章 進程加載啟動原理 / 96
4.1 可執行文件格式 / 97
4.1.1 ELF文件頭 / 98
4.1.2 Program Header Table / 100
4.1.3 Section Header Table / 102
4.1.4 各種Section / 103
4.1.5 入口進一步查看 / 104
4.2 shell啟動用戶進程 / 106
4.3 Linux的可執行文件加載器 / 108
4.4 execve加載用戶程序 / 110
4.4.1 alloc_bprm初始化linux_binprm對象 / 112
4.4.2 bprm_execve執行加載 / 114
4.5 ELF文件加載過程 / 115
4.5.1 讀取ELF文件頭 / 116
4.5.2 讀取Program Header / 117
4.5.3 清空父進程繼承來的資源 / 118
4.5.4 執行Segment加載 / 120
4.5.5 數據內存申請和堆初始化 / 122
4.5.6 跳轉到程序入口執行 / 123
4.6 本章總結 / 125

第5章 系統物理內存初始化 / 127
5.1 固件介紹 / 128
5.2 物理內存安裝檢測 / 129
5.3 初期memblock內存分配器 / 133
5.3.1 memblock內存分配器的創建 / 133
5.3.2 向memblock分配器申請內存 / 136
5.4 NUMA信息感知 / 139
5.4.1 非一致性內存訪問原因 / 139
5.4.2 Linux獲取NUMA信息 / 140
5.5 物理頁管理之夥伴系統 / 143
5.5.1 夥伴系統相關數據結構 / 143
5.5.2 夥伴系統管理空閒頁面 / 145
5.5.3 memblock向夥伴系統交接物理內存 / 148
5.6 本章總結 / 149

第6章 進程如何使用內存 / 153
6.1 虛擬內存和物理頁 / 154
6.1.1 虛擬地址空間 / 154
6.1.2 缺頁中斷 / 157
6.2 虛擬內存使用方式 / 162
6.2.1 進程啟動時對虛擬內存的使用 / 162
6.2.2 mmap / 166
6.2.3 sbrk和brk / 168
6.3 進程棧內存的使用 / 170
6.3.1 進程棧的初始化 / 170
6.3.2 棧的自動增長 / 172
6.3.3 進程棧總結 / 176
6.4 線程棧是如何使用內存的 / 176
6.4.1 glibc線程對象 / 178
6.4.2 確定棧空間大小 / 178
6.4.3 申請用戶棧 / 180
6.4.4 創建線程 / 182
6.4.5 線程棧小結 / 183
6.5 進程堆內存管理 / 183
6.5.1 ptmalloc內存分配器定義 / 184
6.5.2 malloc內存分配過程 / 190
6.6 本章總結 / 192

第7章 進程調度器 / 196
7.1 Linux進程調度發展簡史 / 197
7.1.1 O(n)調度發展過程 / 197
7.1.2 Linux 2.5 O(1)調度器 / 201
7.1.3 完全公平調度器誕生 / 205
7.2 Linux調度器定義 / 205
7.2.1 實時調度器 / 208
7.2.2 完全公平調度器 / 209
7.3 進程的任務隊列選擇 / 211
7.3.1 新進程創建時加入 / 212
7.3.2 老進程喚醒時加入 / 220
7.4 調度時機 / 221
7.4.1 調度節拍 / 221
7.4.2 真正的調度 / 232
7.5 任務切換開銷實測 / 234
7.5.1 進程切換開銷 / 235
7.5.2 線程切換開銷 / 237
7.6 Linux調度器相關命令 / 238
7.6.1 調度策略 / 238
7.6.2 nice值設置 / 239
7.6.3 taskset命令 / 241
7.7 本章總結 / 242

第8章 性能統計原理 / 246
8.1 負載 / 247
8.1.1 理解負載查看過程 / 247
8.1.2 內核負載計算過程 / 249
8.1.3 平均負載和CPU消耗的關係 / 254
8.1.4 負載計算整體流程 / 256
8.2 CPU利用率 / 256
8.2.1 方案思考 / 257
8.2.2 top命令使用的數據在哪裡 / 259
8.2.3 統計數據是怎麼來的 / 262
8.2.4 CPU利用率統計流程 / 266
8.3 指令統計 / 268
8.4 本章總結 / 270

第9章 用戶態協程 / 274
9.1 Go的GMP原理 / 275
9.1.1 Go中的線程 / 276
9.1.2 Go中的協程 / 277
9.1.3 Go中的虛擬處理器 / 278
9.2 Go程序啟動過程 / 280
9.2.1 尋找執行入口 / 281
9.2.2 執行入口分析 / 282
9.2.3 main函數真正運行 / 290
9.3 協程的棧內存 / 292
9.3.1 回憶進程棧和glibc 線程棧 / 292
9.3.2 Go的線程棧與協程棧 / 293
9.3.3 Go協程棧的擴張 / 296
9.4 使用協程封裝epoll / 299
9.4.1 Go net包使用方式 / 300
9.4.2 Listen底層過程 / 301
9.4.3 Accept過程 / 305
9.4.4 Read和Write內部過程 / 310
9.4.5 Go喚醒協程 / 312
9.5 協程切換性能測試 / 314
9.6 本章總結 / 316

第10章 容器化技術 / 318
10.1 容器發展過程 / 319
10.1.1 虛擬機時代 / 319
10.1.2 容器化技術 / 320
10.2 PID命名空間 / 326
10.2.1 默認命名空間 / 327
10.2.2 新PID命名空間創建 / 330
10.2.3 在命名空間中申請pid / 334
10.2.4 容器進程pid查看 / 337
10.3 本章總結 / 339

第11章 容器的CPU資源限制 / 340
11.1 CPU cgroup的創建原理 / 341
11.1.1 使用cgroupfs創建cgroup / 341
11.1.2 內核中cgroup的相關定義 / 344
11.1.3 創建cgroup對象原理 / 349
11.1.4 將進程PID寫進cgroup / 351
11.2 容器CPU權重分配實現 / 354
11.2.1 容器CPU權重設置 / 354
11.2.2 容器CPU權重分配實現 / 355
11.3 容器CPU限制分配實現 / 358
11.3.1 設置CPU限制 / 358
11.3.2 設置CPU限制底層原理 / 360
11.3.3 進程CPU帶寬控制過程 / 362
11.3.4 進程的可運行時間的分配 / 368
11.3.5 容器CPU性能 / 372
11.4 K8s中的limits與requests / 375
11.5 容器中的CPU利用率 / 377
11.5.1 獲取容器CPU利用率的思路 / 377
11.5.2 cgroup v1 CPU 利用率統計原理 / 381
11.5.3 cgroup v2 CPU利用率統計原理 / 385
11.6 本章總結 / 391

第12章 容器的內存資源限制 / 394
12.1 內存cgroup的創建原理 / 395
12.1.1 內存cgroup定義 / 395
12.1.2 創建內存cgroup / 395
12.1.3 內存cgroup中的接口文件 / 397
12.2 設置內存cgroup內存限制 / 397
12.3 容器物理內存的分配 / 399
12.3.1 記帳過程 / 401
12.3.2 容器內存超出限制時的處理 / 402
 

詳細資料

  • ISBN:9787121485596
  • 規格:平裝 / 535頁 / 16k / 19 x 26 x 2.68 cm / 普通級 / 部份全彩 / 1-1
  • 出版地:中國
贊助商廣告
 
金石堂 - 今日66折
裸食瘦身:真人實證!Raw Food飲食法,實現排毒、增肌、減脂、逆齡效果的148道料理
作者:嚴惠如
出版社:幸福文化
出版日期:2020-04-08
66折: $ 363 
金石堂 - 今日66折
專為初學者設計的股市致富系統:整合價值與趨勢的股票投資系統入門書
作者:陳卓賢
出版社:財經傳訊
出版日期:2021-07-15
66折: $ 263 
金石堂 - 今日66折
香料食療不生病:用廚房常見的香料做料理,減壓、補血、除溼、排毒、治小病
作者:歐陽誠
出版社:幸福文化
出版日期:2018-08-29
66折: $ 277 
金石堂 - 今日66折
我的哈佛數學課:跳脫解法、不必死記,專門教出常春藤名校學生的名師教你「戰勝數學的方法」,再也不必怕數學!
作者:鄭光根
出版社:美藝學苑社
出版日期:2023-04-13
66折: $ 277 
 
博客來 - 暢銷排行榜
蛤蟆先生去看心理師(暢銷300萬冊!英國心理諮商經典,附《蛤蟆先生勇氣藏書卡》組)
作者:羅伯.狄保德 (Robert de Board)
出版社:三采
出版日期:2022-01-26
$ 316 
博客來 - 暢銷排行榜
黃泉使者 8 (首刷限定版)
作者:荒川弘
出版社:東立
出版日期:2025-04-24
$ 126 
金石堂 - 暢銷排行榜
AI生成影音創作:超好用的文案、圖像、影片、聲音實戰技(附影音教學)
作者:呂國泰、鍾國章、張啟玥、王榕藝
出版社:碁峰資訊股份有限公司
出版日期:2024-07-08
$ 379 
 
Taaze 讀冊生活 - 新書排行榜
Acro Trip 頂尖惡路(04)
作者:佐和田米
出版社:尖端出版
出版日期:2025-05-02
$ 105 
Taaze 讀冊生活 - 新書排行榜
韓國詩選
作者:姜秉徹編選、李魁賢選譯
出版社:秀威資訊
出版日期:2025-04-09
$ 210 
Taaze 讀冊生活 - 新書排行榜
80/20健康擇食指南,減吃超加工食品:外食或自煮,正餐、飲料、零食、甜點這樣選,四週找回營養與美味的黃金比例
作者:妮可拉.拉登.瑞恩
出版社:橡實文化
出版日期:2025-05-07
$ 336 
博客來 - 新書排行榜
精準營養與肺癌治療
$ 474 
 

©2025 FindBook.com.tw -  購物比價  找書網  找車網  服務條款  隱私權政策