linux panic 参数,Linux之系统参数panic_on_oom

前言:

作为DBA,内存的使用情况是重要的监控指标之一,了解内存使用很重要。下面有一个系统参数,对于内存的调用起到重要的作用。大家可以了解一下。

参数:panic_on_oom: 用来控制当内存不足时该如何做。

cat /proc/sys/vm/panic_on_oom

值为0:内存不足时,启动 OOM killer。

值为1:内存不足时,有可能会触发 kernel panic(系统重启),也有可能启动 OOM killer。

值为2:内存不足时,表示强制触发 kernel panic,内核崩溃GG(系统重启)。

参数:oom_kill_allocating_task: 用来决定触发OOM时先杀掉哪种进程

cat /proc/sys/vm/oom_kill_allocating_task

值为0:会 kill 掉得分最高的进程。

值为非0:会kill 掉当前申请内存而触发OOM的进程。

当然,一些系统进程(如init)或者被用户设置了oom_score_adj的进程等可不是说杀就杀的。

参数:oom_dump_tasks:用来记录触发OOM时记录哪些日志

cat /proc/sys/vm/oom_dump_tasks

oom_dump_tasks参数可以记录进程标识信息、该进程使用的虚拟内存总量、物理内存、进程的页表信息等。

值为0:关闭打印上述日志。在大型系统中,可能存在上千进程,逐一打印使用内存信息可能会造成性能问题。

值为非0:有三种情况会打印进程内存使用情况。

1、由 OOM 导致 kernel panic 时;

2、没有找到符合条件的进程 kill 时;

3、找到符合条件的进程并 kill 时。

参数:oom_adj、oom_score_adj 和 oom_score:用来控制进程打分(分数越高,就先杀谁)

这三个参数的关联性比较紧密,都和具体的进程相关,位置都是在 /proc/进程PID/ 目录下。

内核会对进程打分(oom_score),主要包括两部分,系统打分和用户打分。系统打分就是根据进程的物理内存消耗量;用户打分就是 oom_score_adj 的值。如果用户指定 oom_score_adj 的值为 -1000,也就是表示禁止 OOM killer 杀死该进程。

用户可以通过调整 oom_score_adj 的值来决定最终 oom_score 的值,oom_score_adj 的取值范围是 -1000~1000,为0时表示用户不调整 oom_score。另外,root进程拥有3%的内存使用特权,因此做最终 oom_score 计算时需要减去这些内存使用量。

oom_adj是一个旧的接口参数,其功能类似oom_score_adj,为了兼容,目前仍然保留这个参数,当操作这个参数的时候,kernel实际上是会换算成oom_score_adj。

参数修改方法:

前三个参数修改方式如下:

vim /etc/sysctl.conf 添加如下:

vm.panic_on_oom = 1

sysctl -p

或重启操作系统

后三个参数修改方式如下:

echo 20 > /proc/进程id/oom_score_adj

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux panic是指Linux操作系统发生严重错误或异常情况时,系统无法继续正常运行,进入一种紧急状态,显示出一些错误信息,这种情况也被称为“内核崩溃”。通常需要通过重启系统来解决这种问题。Linux panic可能是由于硬件故障、驱动程序错误、内存泄漏、文件系统损坏等原因引起的。为了避免出现Linux panic,需要定期进行系统维护和更新,及时修复系统中的错误和漏洞。 ### 回答2: Linux Panic是指Linux系统内核遇到了无法处理的致命错误,导致系统进入非常严重的错误状态。在发生Panic时,Linux内核意识到系统已经无法正常运行,需要立即停止运行,以避免更加严重的问题发生。 通常,Panic会出现一些类似于以下信息的错误提示: Kernel panic: VFS: Unable to mount root fs on unknown-block(0,0) 或者 Kernel panic - not syncing: Attempted to kill init! 这些错误提示是内核检测到Linux内核已经无法处理运行中的问题时所输出的信息。 通常,Linux Panic发生的原因有很多,例如内存不足,磁盘损坏,文件系统错误等等。因此,当出现Panic错误时,我们需要根据错误提示信息来确定问题涉及的范围,然后进行相应的修复操作。 通常,我们可以尝试从容易导致Panic的组件进行排除,并逐个确定导致Panic的原因所在。例如,我们可以检查硬件故障,重装操作系统,使用紧急修复模式等方法。 总之,当Linux系统发生Panic时,需要及时了解导致此问题的具体原因,并动手解决问题。这有助于保持Linux系统的稳定性和正常运行。 ### 回答3: Linux PanicLinux系统中的一种紧急异常情况,在系统遇到严重问题时会自动触发。它通常是由于系统硬件或软件故障引起,在发生panic时,Linux系统无法继续执行正常的操作,这时候系统会停止运行并显示一系列的错误信息。一般情况下,我们可以通过这些错误信息来确定或者猜测出导致Linux panic的原因,然后针对性地进行相应的处理。 Linux Panic包括Kernel Panic和User Space Panic两种情况,其中Kernel Panic是指内核发生错误、意外终止或严重问题,导致系统无法正常运行。当出现Kernel Panic时,系统会停止执行、并显示一堆错误信息,这时候我们需要重启计算机,并解决导致错误的原因。 User Space Panic是指用户空间程序出现故障,导致系统无法正常运行。这时候,我们需要排除程序故障的原因,或者使用备份文件替换出故障的程序。 为了避免Linux Panic的发生,我们需要注意以下几点: 1.定期对系统进行备份,以防数据丢失 2.检查系统硬件设备是否正常,并定期进行系统维护和更新 3.避免非法的程序和软件安装,并使用合法的软件 4.定期进行系统优化,减少系统负担 总之,Linux Panic虽然是一种紧急异常情况,但我们可以通过正确的处理方法,避免数据丢失和硬件损坏等问题,并保证系统的正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值