使用dmesg发现程序出现Out of memory的Case - 蝈蝈俊
💡
原文中文,约1700字,阅读约需5分钟。
📝
内容提要
dmesg是Linux和Unix系统中的命令行工具,用于显示内核与系统硬件交互的消息。文章介绍了dmesg命令的使用方法和参数,以及oom_score_adj参数在内存不足时选择被杀死的进程。
🎯
关键要点
- dmesg是Linux和Unix系统中的命令行工具,用于显示内核与系统硬件交互的消息。
- 使用命令'dmesg -T | tail'可以显示最近的系统消息,并以人类可读的时间戳格式呈现。
- 输出信息显示了被杀死的进程website20240424的内存使用情况,包括虚拟内存和匿名常驻内存。
- oom_score_adj是Linux中决定内存不足时哪个进程被杀死的参数,范围从-1000到+1000。
- oom_score_adj值越高,进程被杀死的可能性越大,普通进程的默认值为0。
- 关键系统进程可能会设置较低的oom_score_adj值,以避免在内存不足时被杀死。
- 进程的oom_score由其内存使用量和oom_score_adj值共同决定,系统选择oom_score最高的进程进行杀死。
- dmesg命令的输出可以通过管道传递给其他命令,如grep,以查找特定信息。
➡️