Linux实战-2:内存不足触发Linux OOM-killer机制分析

本文详细解析了Linux系统在内存不足时触发的OOM Killer机制,通过分析HPC03C进程因长时间拉流导致的内存溢出案例,深入解读了OOM信息的各项参数含义,包括gfp_mask、order、oom_score_adj等,同时对堆栈信息和内存状态进行了全面剖析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动我们的程序长时间拉流一段时间,系统内存不足导致触发linux的OOM killer保护机制,kill掉内存占用较高的HPC03C进程 ,打印如下:

[16321.605050] HPC03C invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0
[16321.645746] CPU: 0 PID: 119 Comm: HPC03C Tainted: G           O 3.10.14 #2
[16321.667660] Stack : 00000006 8003b6c0 00000000 804b0000 00000000 00000000 00000000 00000000
	  00000000 00000000 80522e2a 0000003e 81e90f58 000013b9 00000000 00000000
	  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
	  00000000 00000000 00000000 00000000 00000000 816a3b00 816a3b64 80451674
	  804aa1c7 8003cb24 00000000 80451674 00000000 00000077 81e90f58 816a3ad8
	  ...
[16321.858096] Call Trace:
[16321.868528] [<80020ca4>] show_stack+0x48/0x70
[16321.885701] [<803abb9c>] dump_stack+0x20/0x2c
[16321.907941] [<803aa580>] dump_header.isra.14+0x8c/0x1c4
[16321.919646] [<8009db74>] oom_kill_process+0xc4/0x44c
[16321.945295] [<8009e3ec>] out_of_memory+0x2c0/0x318
[16321.966288] [<800a1cf8>] __alloc_pages_nodemask+0x638/0x830
[16321.984326] [<8009cbd0>] filemap_fault+0x330/0x498
[16322.006701] [<800b8d40>] __do_fault+0xd0/0x4b0
[16322.028251] [<800bc6d4>] handle_pte_fault+0x334/0x84c
[16322.053548] [<800bcc8c>] handle_mm_fault+0xa0/0xe0
[16322.079625] [<80025958>] do_page_fault
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值