一台小型的嵌入式设备,内存 256MB,长时间运行时有时会出现如下的错误:
有熟悉 Linux 内存管理的同学可以帮忙大致分析一下原因吗?
[64380.741571] warn_alloc: 177 callbacks suppressed
[64380.741591] rsync: page allocation failure: order:0, mode:0x60000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE), nodemask=(null)
[64380.741602] rsync cpuset=/ mems_allowed=0
[64380.741624] CPU: 0 PID: 4351 Comm: rsync Tainted: G O 4.19.59-sunxi #5.91
[64380.741627] Hardware name: Allwinner sun8i Family
[64380.741662] [<c010d74d>] (unwind_backtrace) from [<c010a2f1>] (show_stack+0x11/0x14)
[64380.741670] kswapd0: page allocation failure: order:0, mode:0x60000a(GFP_NOIO|__GFP_HIGHMEM|__GFP_MOVABLE), nodemask=(null)
[64380.741674] kswapd0 cpuset=
[64380.741687] [<c010a2f1>] (show_stack) from [<c08fb781>] (dump_stack+0x69/0x78)
[64380.741688] / mems_allowed=0
[64380.741703] [<c08fb781>] (dump_stack) from [<c01f0a29>] (warn_alloc+0x8d/0xfc)
[64380.741714] [<c01f0a29>] (warn_alloc) from [<c01f15f3>] (__alloc_pages_nodemask+0xaf3/0xbc0)
[64380.741725] [<c01f15f3>] (__alloc_pages_nodemask) from [<c02381c3>] (zs_malloc+0xe3/0x300)
[64380.741749] [<c02381c3>] (zs_malloc) from [<bf8414bd>] (zram_bvec_rw.constprop.3+0x41c/0x70c [zram])
[64380.741765] [<bf8414bd>] (zram_bvec_rw.constprop.3 [zram]) from [<bf841af5>] (zram_rw_page+0x98/0x104 [zram])
[64380.741781] [<bf841af5>] (zram_rw_page [zram]) from [<c026b3c5>] (bdev_write_page+0x6d/0x98)
[64380.741796] [<c026b3c5>] (bdev_write_page) from [<c021f467>] (__swap_writepage+0x113/0x25c)
[64380.741807] [<c021f467>] (__swap_writepage) from [<c01febb5>] (shmem_writepage+0x1ad/0x274)
[64380.741821] [<c01febb5>] (shmem_writepage) from [<c01fbc7b>] (shrink_page_list+0x61b/0xa90)
[64380.741832] [<c01fbc7b>] (shrink_page_list) from [<c01fc649>] (shrink_inactive_list+0x199/0x450)
[64380.741842] [<c01fc649>] (shrink_inactive_list) from [<c01fce73>] (shrink_node_memcg+0x253/0x4d0)
[64380.741849] [<c01fce73>] (shrink_node_memcg) from [<c01fd183>] (shrink_node+0x93/0x314)
[64380.741857] [<c01fd183>] (shrink_node) from [<c01fd4c5>] (do_try_to_free_pages+0xc1/0x29c)
[64380.741864] [<c01fd4c5>] (do_try_to_free_pages) from [<c01fd793>] (try_to_free_pages+0xf3/0x318)
[64380.741872] [<c01fd793>] (try_to_free_pages) from [<c01f0f01>] (__alloc_pages_nodemask+0x401/0xbc0)
[64380.741886] [<c01f0f01>] (__alloc_pages_nodemask) from [<c02133bd>] (handle_mm_fault+0x435/0x988)
[64380.741898] [<c02133bd>] (handle_mm_fault) from [<c0110c79>] (do_page_fault+0xd9/0x230)
[64380.741908] [<c0110c79>] (do_page_fault) from [<c0110f03>] (do_DataAbort+0x43/0xac)
[64380.741917] [<c0110f03>] (do_DataAbort) from [<c0101dcf>] (__dabt_usr+0x4f/0x60)
[64380.741921] Exception stack(0xc9823fb0 to 0xc9823ff8)
[64380.741928] 3fa0: 00000000 00000000 61043d2f b6e0adc9
[64380.741936] 3fc0: b2e3cff8 0002d2ab 00100000 bee61ae8 00000000 b6f25000 b6f9d000 bee61af4
[64380.741943] 3fe0: b6f7ef30 bee61a98 b6f6d6f5 b6e0ae80 60010030 ffffffff
[64380.741948] warn_alloc_show_mem: 9 callbacks suppressed
[64380.741952] CPU: 2 PID: 49 Comm: kswapd0 Tainted: G O 4.19.59-sunxi #5.91
[64380.741953] Mem-Info:
[64380.741956] Hardware name: Allwinner sun8i Family
[64380.741969] active_anon:7107 inactive_anon:7013 isolated_anon:13
[64380.741969] active_file:2152 inactive_file:2145 isolated_file:6
[64380.741969] unevictable:0 dirty:138 writeback:0 unstable:0
[64380.741969] slab_reclaimable:2766 slab_unreclaimable:5308
[64380.741969] mapped:1911 shmem:471 pagetables:231 bounce:0
[64380.741969] free:739 free_pcp:263 free_cma:0
[64380.741996] Node 0 active_anon:28428kB inactive_anon:28052kB active_file:8608kB inactive_file:8580kB unevictable:0kB isolated(anon):52kB isolated(file):24kB mapped:7644kB dirty:552kB writeback:0kB
shmem:1884kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no
managed:244872kB mlocked:0kB kernel_stack:1296kB pagetables:924kB bounce:0kB free_pcp:1052kB local_pcp:176kB free_cma:0kB
[64380.742017] Normal free:2956kB min:1952kB low:2440kB high:2928kB active_anon:28324kB inactive_anon:28128kB active_file:8608kB inactive_file:8764kB unevictable:0kB writepending:600kB present:262144kB [64380.742019] lowmem_reserve[]: 0 0 0
[64380.742066] Normal: 25*4kB (H) 28*8kB (H) 29*16kB (H) 15*32kB (H) 4*64kB (H) 3*128kB (H) 2*256kB (H) 1*512kB (H) 0*1024kB 0*2048kB 0*4096kB
[64380.741979] [<c010d74d>] (unwind_backtrace) from [<c010a2f1>] (show_stack+0x11/0x14)
[64380.741988] [<c010a2f1>] (show_stack) from [<c08fb781>] (dump_stack+0x69/0x78)
[64380.742005] [<c08fb781>] (dump_stack) from [<c01f0a29>] (warn_alloc+0x8d/0xfc)
[64380.742026] [<c01f0a29>] (warn_alloc) from [<c01f15f3>] (__alloc_pages_nodemask+0xaf3/0xbc0)
[64380.742035] [<c01f15f3>] (__alloc_pages_nodemask) from [<c02381c3>] (zs_malloc+0xe3/0x300)
[64380.742049] [<c02381c3>] (zs_malloc) from [<bf8414bd>] (zram_bvec_rw.constprop.3+0x41c/0x70c [zram])
[64380.742063] [<bf8414bd>] (zram_bvec_rw.constprop.3 [zram]) from [<bf8418c9>] (zram_make_request+0x11c/0x2b0 [zram])
[64380.742080] [<bf8418c9>] (zram_make_request [zram]) from [<c055cbdb>] (generic_make_request+0xff/0x23c)
[64380.742091] [<c055cbdb>] (generic_make_request) from [<c055cd51>] (submit_bio+0x39/0x120)
[64380.742099] [<c055cd51>] (submit_bio) from [<c021f57f>] (__swap_writepage+0x22b/0x25c)
[64380.742108] [<c021f57f>] (__swap_writepage) from [<c01febb5>] (shmem_writepage+0x1ad/0x274)
[64380.742117] [<c01febb5>] (shmem_writepage) from [<c01fbc7b>] (shrink_page_list+0x61b/0xa90)
[64380.742127] [<c01fbc7b>] (shrink_page_list) from [<c01fc649>] (shrink_inactive_list+0x199/0x450)
[64380.742136] [<c01fc649>] (shrink_inactive_list) from [<c01fce73>] (shrink_node_memcg+0x253/0x4d0)
[64380.742144] [<c01fce73>] (shrink_node_memcg) from [<c01fd183>] (shrink_node+0x93/0x314)
[64380.742151] [<c01fd183>] (shrink_node) from [<c01fded9>] (kswapd+0x225/0x5a0)
[64380.742162] [<c01fded9>] (kswapd) from [<c0132af1>] (kthread+0xfd/0x104)
[64380.742173] [<c0132af1>] (kthread) from [<c01010f9>] (ret_from_fork+0x11/0x38)
[64380.742176] Exception stack(0xcfbd3fb0 to 0xcfbd3ff8)
[64380.742183] 3fa0: 00000000 00000000 00000000 00000000
[64380.742191] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[64380.742198] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[64380.742200] = 2932kB
[64380.742203] 4846 total pagecache pages
[64380.742207] 43 pages in swap cache
[64380.742211] Write-error on swap-device (254:1:70952)
[64380.742220] Swap cache stats: add 94292, delete 94228, find 276273/338929
[64380.747272] Free swap = 107260kB
[64380.747274] Total swap = 122432kB
[64380.747277] 65536 pages RAM
[64380.747280] 0 pages HighMem/MovableOnly
[64380.747283] 4318 pages reserved
[64380.747286] 0 pages cma reserved