鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

配置内核参数

当内核发生一些死锁,系统并不会重启,只会卡死。这种情况下并不会造成内核panic,需要构造条件使内核panic,这样才能生成vmcore文件。

内核提供了多种场景构造panic:

  • 进程出现挂起时引发panic
    1
    echo 1 > /proc/sys/kernel/hung_task_panic
    
  • 进程hangtask机制超时时间
    1
    echo 60 > /proc/sys/kernel/hung_task_timeout_secs
    
  • 软锁(soft lockup)触发panic
    1
    echo 1 > /proc/sys/kernel/softlockup_panic
    
  • 设置Kernel遇到OOM触发panic
    1
    echo 1 > /proc/sys/vm/panic_on_oom
    
  • 设置内核中出现警告产生panic
    1
    echo 1 > /proc/sys/kernel/panic_on_warn
    

通过以上命令修改的相关配置为临时生效,重启后失效。如需要重启自动配置,可按照以下步骤进行操作。

  1. 编辑“etc/sysctl.conf”文件。
    1
    vim etc/sysctl.conf
    

    写入如下参数:

    配置kernel.panic_on_warn=1参数会在内核发生警告时,强制系统崩溃,触发kdump机制。如果在系统启动时就有警告,则会导致系统出现无法启动的情况。因此,建议仅在必要时才启用该参数。

    1
    2
    3
    4
    5
    kernel.hung_task_panic=1
    kernel.hung_task_timeout_secs=60
    kernel.softlockup_panic=1
    vm.panic_on_oom=1
    kernel.panic_on_warn=1
    
  2. 使配置生效。
    1
    sysctl -p