crashkernel參數用於在Linux系統中預留一部分記憶體,以便在系統崩潰時通過kdump服務捕獲記憶體轉儲檔案。這為系統管理員提供了強大的故障後分析工具,有助於快速定位和修複核心層級的問題。本文將介紹crashkernel參數的配置方法。
作業系統限制
Alibaba Cloud Linux 3
Alibaba Cloud Linux 2
crashkernel參數說明
Alibaba Cloud Linux 2/3預設在cmdline中設定了crashkernel參數。
架構 | 作業系統 | 預設參數 |
x86 | Alibaba Cloud Linux 3 | crashkernel=0M-2G:0M,2G-8G:192M,8G-128G:256M,128G-:384M |
Alibaba Cloud Linux 2 | ||
ARM64 | Alibaba Cloud Linux3 | crashkernel=0M-2G:0M,2G-64G:256M,64G-:384M |
crashkernel參數常見形式
按位移量設定。
crashkernel=size[KMG][@offset[KMG]]例如
crashkernel=256M@32M,表示預留crashkernel大小為256 M,物理地址位移為32 M。按記憶體量設定。
crashkernel=range1:size1[,range2:size2,...][@offset]例如
crashkernel=0M-2G:0M,2G-64G:256M,64G-:384M,表示:系統記憶體 ≤ 2 G,則不預留crashkernel。
2 G < 系統記憶體 ≤ 64 G,則預留256 M。
系統記憶體 > 64 G,則預留384 M。
按記憶體地區設定。
crashkernel=size[KMG],low/high例如
crashkernel=256M,high,表示在高記憶體空間預留256 M。
修改crashkernel參數
修改當前核心crashkernel參數。
<crashkernel>需替換為要設定的值,例如256M。sudo grubby --update-kernel="/boot/vmlinuz-$(uname -r)" --args="crashkernel=<crashkernel>"重啟執行個體使配置生效。
警告重啟執行個體將導致您的執行個體暫停運行,這可能引發業務中斷和資料丟失。因此,建議您在執行此操作之前備份關鍵資料,並選擇在非業務高峰期進行。
sudo reboot查看修改後的crashkernel預留大小。
sudo kdumpctl showmem
kdump服務使用說明
如需使用kdump服務,需確保系統記憶體 > 2 G。
查看服務狀態。
sudo systemctl status kdump關閉/開啟kdump服務。
關閉kdump服務。
sudo systemctl stop kdump開啟dump服務。
sudo systemctl start kdump