虛擬計算環境的運行時資源監控與記憶體泄漏檢測技術

虛擬計算環境的運行時資源監控與記憶體泄漏檢測技術

《虛擬計算環境的運行時資源監控與記憶體泄漏檢測技術》是2015年3月出版的圖書,作者是肖如良。

基本介紹

  • 書名:虛擬計算環境的運行時資源監控與記憶體泄漏檢測技術
  • 作者:肖如良
  • ISBN:9787121252648
  • 出版社:電子工業出版社
  • 出版時間:2015-03
  • 裝幀:平裝
內容簡介,前言,目錄結構,

內容簡介

在雲計算相關的虛擬計算環境中,不僅要對系統的資源占用進行運行時監控調整,而且要對系統所發生的記憶體泄漏進行檢測與分析,這種可靠性保障技術極具挑戰性。本書在介紹了相關研究工作及基礎內容之後,主要針對資源監控調整與記憶體泄漏檢測問題,構建了Xen虛擬機管理器中的自定義超級調用體系,研究了虛擬計算資源,包括記憶體資源與CPU資源的監控與調整機制、運行時記憶體泄漏檢測等方面的關鍵技術。
提出了基於自省機制的記憶體泄漏檢測確認規則、虛擬計算環境的資源監測收集策略和資源調整策略,基於Xen虛擬機管理器設計並實現了虛擬計算環境的資源監控與調整子系統XResMonitor與虛擬計算環境的記憶體泄漏檢測分析系統MLDA,最後介紹了GDI記憶體泄漏檢測的工作。 全書包含了以上主要關鍵技術的實現思路與技術細節,可供計算機專業相關工程技術人員、研究人員參考。

前言

前 言 隨著雲計算技術的不斷發展,現代軟體的規模越來越大、複雜性越來越高,其可靠性也越來越難以保障,這種挑戰性問題與雲計算的虛擬化技術密切相關。在雲計算的虛擬計算環境中,為了提高系統服務的可靠性,不僅要對系統的資源占用進行運行時監控調整,而且要對系統所發生的記憶體泄漏進行檢測與分析,這種可靠性保障技術尤其是運行時資源調整與不停機伺服器應用程式的記憶體泄漏檢測極具挑戰性。

目錄結構

第1章 緒論 1
1.1 虛擬計算環境 1
1.2 虛擬計算環境的可靠性 2
1.3 資源監控與動態調整 3
1.4 記憶體泄漏檢測 5
1.5 小結 6
第2章 虛擬計算環境可靠性的相關研究 7
2.1 記憶體泄漏國內外研究現狀 7
2.1.1 與記憶體泄漏靜態檢測相關的研究工作 7
2.1.2 與記憶體泄漏動態檢測相關的研究工作 8
2.1.3 存在的問題 11
2.2 虛擬計算環境記憶體泄漏檢測技術的相關研究 12
2.2.1 概述 12
2.2.2 虛擬機性能信息的獲取 13
2.2.3 虛擬機記憶體管理 13
2.2.4 基於虛擬環境的程式調試 15
2.2.5 基於虛擬計算環境的入侵檢測 15
2.2.6 虛擬計算環境下存在的語義障礙 16
2.3 國內外典型的資源監測與資源調整工具 17
2.3.1 國內外相關研究 17
2.3.2 代表性資源監控系統的實現 19
2.4 小結 21
第3章 虛擬計算環境及記憶體泄漏檢測基礎 23
3.1 虛擬計算環境基礎 23
3.1.1 概述 23
3.1.2 CPU虛擬化 24
3.1.3 記憶體虛擬化 25
3.1.4 輸入/輸出設備虛擬化 28
3.1.5 Xen的CPU虛擬化模型 29
3.1.6 Xen虛擬計算框架 32
3.1.7 虛擬計算環境下不同抽象級別間的語義障礙 36
3.2 記憶體泄漏檢測技術基礎 40
3.2.1 動態記憶體管理 40
3.2.2 動態代碼執行分析 42
3.2.3 目標進程的控制方法 46
3.3 小結 49
第4章 多目標監測的通信進程管理 51
4.1 衝突問題描述 51
4.2 CSP理論 51
4.3 基於CSP的分散式記憶體泄漏檢測分析系統模型 51
4.4 模型的正確性證明 53
4.5 小結 55
第5章 基於自省機制的運行時記憶體泄漏檢測機制 57
5.1 虛擬計算環境中的監控機制與自省機制 57
5.2 基於自省機制的運行時記憶體泄漏檢測模型 58
5.2.1 基於自省機制檢測的流模型 59
5.2.2 記憶體泄漏判定基礎 62
5.3 記憶體泄漏確認規則 64
5.3.1 實現記憶體對象分組 64
5.3.2 檢測潛在的記憶體泄漏 65
5.3.3 記憶體泄漏的確認規則 66
5.4 虛擬計算環境記憶體泄漏檢測機制的實現基礎 66
5.5 VMLD中4個基礎模組的職責 68
5.5.1 內部緩衝區維護模組(Maintain Buffer) 68
5.5.2 控制模組(Controller) 70
5.5.3 攔截模組(Interceptor) 70
5.5.4 監視模組(Monitor) 71
5.6 實驗及結果分析 72
5.6.1 有效性實驗分析 73
5.6.2 性能實驗分析 74
5.7 小結 75
第6章 虛擬計算環境資源監控系統框架 77
6.1 設計思路 77
6.2 系統部署結構 78
6.3 XResMonitor系統功能模組 79
6.3.1 資源信息監測模組 79
6.3.2 資源調整模組 80
6.4 XResMonitor模組工作流程 82
6.4.1 資源信息監測流程 82
6.4.2 資源調整流程 83
6.5 XResMonitor系統特色 84
6.6 小結 85
第7章 虛擬計算環境資源監控系統的關鍵技術 87
7.1 虛擬機資源信息收集策略 87
7.1.1 Xen虛擬機的信息收集策略 87
7.1.2 XResMonitor系統的信息收集策略 88
7.2 資源實時監測 89
7.2.1 記憶體資源實時監測 90
7.2.2 CPU資源實時監測 95
7.3 資源調整策略 97
7.3.1 記憶體資源調整策略 97
7.3.2 VCPU資源調整 107
7.4 XResMonitor監測系統的原型實現 111
7.4.1 原型系統的實現環境 111
7.4.2 功能實現評估 112
7.4.3 原型系統的性能評估 116
7.5 小結 117
第8章 基於Xen的記憶體泄漏檢測分析系統MLDA模組級關鍵技術 119
8.1 MLDA系統框架描述 119
8.1.1 控制模組 119
8.1.2 侵入模組 124
8.1.3 攔截模組 125
8.1.4 監視模組 129
8.1.5 核心支持模組 131
8.1.6 數據處理與存儲模組 135
8.1.7 分析模組 140
8.1.8 用戶互動模組 141
8.1.9 模組協作 148
8.2 控制模組和監視模組實現的關鍵技術 149
8.2.1 Windows下動態程式庫注入技術 150
8.2.2 Linux下動態程式庫注入技術 153
8.3 攔截模組和監視模組實現的關鍵技術 156
8.3.1 代碼記憶體保護解除的實現 156
8.3.2 代碼複製的實現 157
8.3.3 運行流程重定向代碼的生成 160
8.3.4 堆訪問情況的捕捉 162
8.4 監視模組和核心代碼互動實現的關鍵技術 166
8.5 核心代碼訪問記憶體頁表的實現 168
8.6 數據收集模組和數據處理模組互動的實現 171
8.7 數據處理過程 178
8.8 小結 179
第9章 MLDA的系統級技術實現 181
9.1 系統部署 181
9.1.1 Xen核心修改部分 181
9.1.2 監視端的安裝 182
9.1.3 Windows下的安裝 182
9.1.4 Linux下的安裝 182
9.2 MLDA系統結構 184
9.3 MLDA系統的基礎功能 184
9.3.1 動態程式庫注入 184
9.3.2 超級調用 185
9.3.3 域間通信 185
9.3.4 進程堆記憶體地址空間頁表訪問 186
9.3.5 記憶體操作行為的捕捉 187
9.4 MLDA記憶體泄漏檢測 188
9.5 MLDA記憶體泄漏預測 191
9.6 小結 193
第10章 GDI記憶體泄漏檢測 195
10.1 概述 195
10.2 GDI攔截模組 195
10.2.1 注入DLL模組 196
10.2.2 修改函式導入表和模組導出表的地址 196
10.3 GDI監控模組 197
10.3.1 監控數據的組織 197
10.3.2 監控數據的採集過程及存儲策略 197
10.4 GDI分析模組 198
10.5 GDI可視化模組 198
10.5.1 顯示GDI記憶體泄漏嫌疑和故障信息 199
10.5.2 生成監測報告 200
第11章 結束語 205
11.1 總結 205
11.2 未來工作 207
附錄A 基於Xen的記憶體泄漏檢測技術的部分原始碼 209
參考文獻 237

相關詞條

熱門詞條

聯絡我們