日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

ARM64中開啟kdump時內(nèi)存訪問性能優(yōu)化介紹及使用說明

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業(yè)務(wù)造成影響,請務(wù)必仔細閱讀。

在Linux kernel中使用kdump,可以在發(fā)生內(nèi)核Panic等異常時保存執(zhí)行現(xiàn)場,捕獲內(nèi)存中的信息,從而協(xié)助開發(fā)者或管理員分析崩潰原因。使用kdump功能時,需要在系統(tǒng)啟動時預(yù)留一定量內(nèi)存,且這部分內(nèi)存不會被常規(guī)進程使用。您可以通過在內(nèi)核啟動參數(shù)中增加crashkernel參數(shù)來自定義預(yù)留內(nèi)存大小。本文將介紹在Alibaba Cloud Linux 3 64位 ARM架構(gòu)下的kdump內(nèi)存訪問性能優(yōu)化及使用說明。

使用限制

如需使用kdump內(nèi)存訪問性能優(yōu)化功能,您的實例鏡像必須滿足以下要求:

  • 實例使用的操作系統(tǒng)必須為Alibaba Cloud Linux 3 64位 ARM版。

  • 內(nèi)核版本必須為5.10.134-17.2及以上版本。

優(yōu)化介紹

問題描述

在Alibaba Cloud Linux 3 64位 ARM版本的內(nèi)核環(huán)境中,如果在支持DMA和DMA32的內(nèi)存區(qū)域內(nèi)預(yù)留crashkernel內(nèi)存,將會導(dǎo)致內(nèi)核中的線性映射區(qū)使用小頁映射。這一機制旨在通過/sys/kernel/kexec_crash_size動態(tài)調(diào)整crashkernel內(nèi)存大小,但會導(dǎo)致基于線性映射區(qū)地址訪問內(nèi)存時性能的降低。

優(yōu)化說明

為避免上述原因?qū)е碌膋dump內(nèi)存訪問性能問題,目前默認為kdump服務(wù)較早預(yù)留crashkernel內(nèi)存,并盡可能建立大頁映射,以提升使用線性映射地址訪問內(nèi)存的效率。該優(yōu)化功能已默認開啟,無需手動進行設(shè)置。

如何關(guān)閉kdump內(nèi)存訪問性能優(yōu)化功能

如果您的業(yè)務(wù)場景不需要使用該內(nèi)存訪問性能優(yōu)化功能,您可以按照以下步驟進行操作,以關(guān)閉kdump內(nèi)存訪問性能優(yōu)化功能。該操作僅關(guān)閉kdump內(nèi)存訪問優(yōu)化功能,kdump服務(wù)不受影響。

  1. 運行以下命令,為內(nèi)核啟動參數(shù)中增加defer_reserve_crashmem參數(shù),以關(guān)閉kdump內(nèi)存訪問性能優(yōu)化功能。

    sudo grubby --update-kernel="/boot/vmlinuz-$(uname -r)" --args="defer_reserve_crashmem"
    說明

    如果關(guān)閉了kdump內(nèi)存訪問性能優(yōu)化功能,想要再次啟用該優(yōu)化功能,可以運行以下命令sudo grubby --update-kernel="/boot/vmlinuz-$(uname -r)" --remove-args="defer_reserve_crashmem",此命令將重新啟用該優(yōu)化功能。隨后,請運行sudo reboot命令重啟實例,以使配置生效。

  2. 運行以下命令,重啟實例使配置生效。

    警告

    重啟實例將導(dǎo)致您的實例暫停運行,這可能引發(fā)業(yè)務(wù)中斷和數(shù)據(jù)丟失。因此,建議您在執(zhí)行此操作之前備份關(guān)鍵數(shù)據(jù),并選擇在非業(yè)務(wù)高峰期進行。

    sudo reboot
  3. 運行以下命令,查看內(nèi)核啟動命令是否已增加相應(yīng)配置。

    grep defer_reserve_crashmem /proc/cmdline

    回顯結(jié)果示例如下,表明內(nèi)核啟動參數(shù)添加成功。

    image

常見問題

如何為kdump配置預(yù)留低地址段crashkernel內(nèi)存地址

問題現(xiàn)象

在Alibaba Cloud Linux 3 64位 ARM版本中使用crashkernel功能時,發(fā)現(xiàn)預(yù)留的內(nèi)存起始地址超過4 GB。

可能原因

kernel啟動參數(shù)crashkernel中未指定預(yù)留的內(nèi)存起始地址,導(dǎo)致選擇的預(yù)留內(nèi)存起始地址超過4 GB。

解決方案

如果您遇到上述問題,可以通過在設(shè)置crashkernel內(nèi)存大小時增加offset參數(shù),以指定從低地址段的起始地址預(yù)留內(nèi)存空間,從而解決該問題。具體操作如下。

方式一:按偏移量方式設(shè)置offset

  1. 運行以下命令,為內(nèi)核啟動參數(shù)crashkernel增加offset參數(shù)。本示例中,預(yù)留內(nèi)存大小設(shè)置為320M,起始地址設(shè)定為0x40000000。在實際使用中,您需根據(jù)自身情況進行相應(yīng)替換。

    sudo grubby --update-kernel="/boot/vmlinuz-$(uname -r)" --args="crashkernel=320M@1024M"
  2. 運行以下命令,重啟實例使配置生效。

    警告

    重啟實例將導(dǎo)致您的實例暫停運行,這可能引發(fā)業(yè)務(wù)中斷和數(shù)據(jù)丟失。因此,建議您在執(zhí)行此操作之前備份關(guān)鍵數(shù)據(jù),并選擇在非業(yè)務(wù)高峰期進行。

    sudo reboot
  3. 運行以下命令,查看內(nèi)核啟動命令是否已增加相應(yīng)配置,示例中使用步驟1中添加的crashkernel=320M@1024M作為關(guān)鍵字,在實際使用中,您需根據(jù)自身情況進行相應(yīng)替換。

    grep "crashkernel=320M@1024M" /proc/cmdline

    回顯信息示例如下,表明內(nèi)核啟動參數(shù)添加成功。

    image

方式二:按內(nèi)存量方式設(shè)置offset

  1. 運行以下命令,為內(nèi)核啟動參數(shù)crashkernel增加offset參數(shù),本示例中,依據(jù)內(nèi)存大小區(qū)間設(shè)置不同的預(yù)留內(nèi)存大小,起始地址設(shè)定為0x40000000。在實際使用中,您需根據(jù)自身情況進行相應(yīng)替換。

    sudo grubby --update-kernel="/boot/vmlinuz-$(uname -r)" --args="crashkernel=crashkernel=0M-2G:0M,2G-64G:256M,64G-:384M@1024M"
  2. 運行以下命令,重啟實例使配置生效。

    警告

    重啟實例將導(dǎo)致您的實例暫停運行,這可能引發(fā)業(yè)務(wù)中斷和數(shù)據(jù)丟失。因此,建議您在執(zhí)行此操作之前備份關(guān)鍵數(shù)據(jù),并選擇在非業(yè)務(wù)高峰期進行。

    sudo reboot
  3. 運行以下命令,查看內(nèi)核啟動命令是否已增加相應(yīng)配置。本示例中使用步驟1中添加的crashkernel=0M-2G:0M,2G-64G:256M,64G-:384M@1024M作為關(guān)鍵字,在實際使用中,您需根據(jù)自身情況進行相應(yīng)替換。

    grep "crashkernel=0M-2G:0M,2G-64G:256M,64G-:384M@1024M" /proc/cmdline

    回顯信息示例如下,表明內(nèi)核啟動參數(shù)添加成功。

    image

相關(guān)文檔

有關(guān)如何配置crashkernel,請參見crashkernel配置說明