文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  從核心檔案中排除或包含緩衝池頁面

17.8.3.7 從核心檔案中排除或包含緩衝池頁面

核心檔案會記錄執行中處理程序的狀態和記憶體映像。因為緩衝池位於主記憶體中,並且執行中處理程序的記憶體映像會傾印到核心檔案中,因此當 mysqld 處理程序終止時,具有大型緩衝池的系統可能會產生大型核心檔案。

大型核心檔案可能會因為許多原因而產生問題,包括寫入這些檔案所需的時間、它們消耗的磁碟空間,以及與傳輸大型檔案相關的挑戰。

如果您擔心將資料庫頁面傾印到核心檔案,這些檔案可能會在您的組織內部或外部共享以進行偵錯,那麼從安全角度來看,排除緩衝池頁面也是可取的。

注意

在某些偵錯情境中,存取 mysqld 處理程序終止時緩衝池頁面中存在的資料可能會有益。如果您不確定是否要包含或排除緩衝池頁面,請諮詢 MySQL 支援。

只有在啟用 core_file 變數,並且作業系統支援 MADV_DONTDUMP 非 POSIX 擴充功能至 madvise() 系統呼叫時,innodb_buffer_pool_in_core_file 選項才相關,Linux 3.4 和更新版本中支援該擴充功能。MADV_DONTDUMP 擴充功能會導致指定的範圍內的頁面從核心傾印中排除。在支援 MADV_DONTDUMP 的系統上,預設會停用 innodb_buffer_pool_in_core_file 選項,否則預設為 ON。

若要產生包含緩衝池頁面的核心檔案,請使用 --core-file--innodb-buffer-pool-in-core-file=ON 選項啟動伺服器。

$> mysqld --core-file --innodb-buffer-pool-in-core-file=ON

mysql> SET GLOBAL innodb_buffer_pool_in_core_file=OFF;

表格 17.4 核心檔案組態情境

core_file 變數 innodb_buffer_pool_in_core_file 變數 madvise() MADV_DONTDUMP 支援 結果
關閉 (預設) 與結果無關 與結果無關 不產生核心檔案
開啟 開啟 (在沒有 MADV_DONTDUMP 支援的系統上預設) 與結果無關 產生包含緩衝池頁面的核心檔案
開啟 關閉 (在具有 MADV_DONTDUMP 支援的系統上預設) 產生不包含緩衝池頁面的核心檔案
開啟 關閉 不產生核心檔案,core_file 被停用,並且將警告寫入伺服器錯誤日誌

表格 17.5 包含和排除緩衝池頁面的核心檔案大小

innodb_page_size 設定 包含緩衝池頁面 (innodb_buffer_pool_in_core_file=ON) 排除緩衝池頁面 (innodb_buffer_pool_in_core_file=OFF)
4KB 2.1GB 0.9GB
64KB 1.7GB 0.7GB