酷小川 2022-12-26 09:49 采纳率: 0%
浏览 72
已结题

内存充足出现oom,从日志定位原因

在开发板上出现oom问题,正常运行时剩余20多M内存空间。系统oom阈值为1392kb,发生oom时order为0,只申请了4k的内存,还有20多m内存。能否从下面的日志中分析出为什么会出现oom


[10-18:56:37:792] sh invoked oom-killer: gfp_mask=0x0, order=0, oom_score_adj=0
[10-18:56:37:792] CPU: 0 PID: 19990 Comm: sh Tainted: P           O    4.4.176 #12
[10-18:56:37:793] Stack : 00000000 00000000 80540000 00000009 85b9a314 806391a7 805c238c 00004e16
[10-18:56:37:793]           806a34e8 00000000 00000003 806393dc 000007d3 80053ec0 00000006 024200ca
[10-18:56:37:793]           00000000 00000000 805c7c58 814a5cfc 806a674a 8007d1ec 00000000 00003031
[10-18:56:37:793]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[10-18:56:37:793]           00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[10-18:56:37:793]           ...
[10-18:56:37:793] Call Trace:
[10-18:56:37:793] [<8000b35c>] show_stack+0x8c/0xa8
[10-18:56:37:793] [<800b9430>] dump_header.isra.4+0x50/0x19c
[10-18:56:37:793] [<800829a8>] oom_kill_process+0x2ec/0x4f0
[10-18:56:37:793] [<80082f98>] out_of_memory+0x3b4/0x3c4
[10-18:56:37:793] [<80082fec>] pagefault_out_of_memory+0x44/0x88
[10-18:56:37:793] [<80011ac8>] __do_page_fault+0x4c8/0x52c
[10-18:56:37:793] [<80005cc0>] ret_from_exception+0x0/0x10
[10-18:56:37:793] 
[10-18:56:37:793] Mem-Info:
[10-18:56:37:793] active_anon:2980 inactive_anon:28 isolated_anon:0
[10-18:56:37:794]  active_file:3804 inactive_file:2156 isolated_file:0
[10-18:56:37:794]  unevictable:1194 dirty:0 writeback:0 unstable:0
[10-18:56:37:794]  slab_reclaimable:604 slab_unreclaimable:8490
[10-18:56:37:794]  mapped:2426 shmem:258 pagetables:98 bounce:0
[10-18:56:37:794]  free:6214 free_pcp:39 free_cma:0
[10-18:56:37:794] Normal free:24856kB min:1392kB low:1740kB high:2088kB active_anon:11920kB inactive_anon:112kB active_file:15216kB inactive_file:8624kB unevictable:4776kB isolated(anon):0kB isolated(file):0kB present:130048kB managed:121976kB mlocked:0kB dirty:0kB writeback:0kB mapped:9704kB shmem:1032kB slab_reclaimable:2416kB slab_unreclaimable:33960kB kernel_stack:976kB pagetables:392kB unstable:0kB bounce:0kB free_pcp:156kB local_pcp:156kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[10-18:56:37:794] lowmem_reserve[]: 0 0
[10-18:56:37:794] Normal: 652*4kB (UMEH) 467*8kB (UMEH) 181*16kB (UMEH) 192*32kB (UMEH) 84*64kB (UMEH) 14*128kB (UEH) 5*256kB (UE) 0*512kB 1*1024kB (E) 0*2048kB 0*4096kB = 24856kB
[10-18:56:37:794] 7412 total pagecache pages
[10-18:56:37:794] 32512 pages RAM
[10-18:56:37:794] 0 pages HighMem/MovableOnly
[10-18:56:37:794] 2018 pages reserved
[10-18:56:37:795] mempool: mem_used 14089248(0xd6fc20)bytes mem_thru 0(0x0)
[10-18:56:37:795] name eth_buffer pool 87062b00 size 1712  obj_size 2016
[10-18:56:37:795]         max 7200 used 1434 min 1422 free 181 thru 177
[10-18:56:37:795]         rpu 64028 resized 2987 shrinked 54 timestamp 19647762 freed 6
[10-18:56:37:795]         rmu 0 mem_used 3255840(0x31ae20)bytes
[10-18:56:37:795]         alloced 971938 returned 970323 failed 0
[10-18:56:37:795] name wifi0_rxq pool 853c8900 size 16096  obj_size 16384
[10-18:56:37:795]         max 1536 used 534 min 384 free 17 thru 48
[10-18:56:37:795]         rpu 0 resized 2577 shrinked 45 timestamp 0 freed 0
[10-18:56:37:795]         rmu 0 mem_used 9027584(0x89c000)bytes
[10-18:56:37:795]         alloced 305649 returned 305098 failed 447
[10-18:56:37:795] name wifi0_rpq pool 853c8800 size 992  obj_size 1280
[10-18:56:37:795]         max 256 used 64 min 64 free 0 thru 8
[10-18:56:37:795]         rpu 0 resized 0 shrinked 0 timestamp 0 freed 0
[10-18:56:37:796]         rmu 0 mem_used 81920(0x14000)bytes
[10-18:56:37:796]         alloced 64 returned 0 failed 0
[10-18:56:37:796] name wifi0_rxbuf pool 8690d700 size 2600  obj_size 2912
[10-18:56:37:796]         max 2048 used 512 min 512 free 80 thru 64
[10-18:56:37:796]         rpu 0 resized 1731 shrinked 349 timestamp 19647750 freed 96
[10-18:56:37:796]         rmu 0 mem_used 1723904(0x1a4e00)bytes
[10-18:56:37:796]         alloced 133264 returned 132672 failed 0
[10-18:56:37:800] Out of memory: Kill process 2221 (web) score 65 or sacrifice child
[10-18:56:37:801] Killed process 2221 (web) total-vm:17496kB, anon-rss:3204kB, file-rss:5024kB

  • 写回答

4条回答 默认 最新

  • 於黾 2022-12-26 09:53
    关注

    oom并不是指内存耗尽,内存要真耗尽系统直接死机了,也不会报错的
    oom是指你申请的内存空间指针溢出,你把4K改成4K-1看是不是就好了呢
    比如在C语言中,不管你实际内存到底有多大,你一次申请的数组长度不能超过int的表示范围,单片机里这个值到底是多少我不确定,你需要测试

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月27日
  • 创建了问题 12月26日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度