工具/软件:Linux
我使用 DVR_RDK 4.1接收未压缩的视频数据。 网络堆栈大小设置如下:
- sysctl -w net.core.rmem_max=33554432
- sysctl -w net.core.wmem_max=33554432
- sysctl -w net.core.rmem_default=33554432
- sysctl -w net.core.wmem_default=33554432
- sysctl -w net.ipv4.udp_mem='4096 87380 33554432'
- sysctl -w net.ipv1.route.flush=1
每个数据包为 1300字节(UDP)、每个数据流的传输速率为 每秒12800个数据包。 它可用于2个流、但 如果添加第三个流、则会导致页面分配失败。 如何解决此问题?
vidapp:页面分配失败。 顺序:0、模式:0x4020
回溯:
[ ](dump_backtrace+0x0/0x110)从[ ](dump_stack+0x18/0x1c)
R6:c04b5ee0 R5:00000000 R4:00004020 R3:60000193
[ ](dump_stack+0x0/0x1c)从[ ](__alloc_pages_nodemASK+0x4fc/0x560)
[ ](__alloc_pages_nodemASK+0x0/0x560)从[ ](new_slab+0x7c/0x200)
[ ](new_slab+0x0/0x200)从[ ](__slab_alloc.clone.66+0x114/0x1e0)
r8:c02cde60 r7:00000020 r6:00000000 r5:c4802400 r4:00000000
r3:003ffff
[ ](__slab_alloc.clone.66+0x0/0x1e0)、来自[ ](_kmalloc_track_caller_0x84/0xc8)
r8:c02cde60 r7:00000000 r6:a0000113 r5:00000020 r4:c4802400
r3:c05f2060
[ ](_kmalloc_track_caller_0x0/0xc8)、来自[ ](_alloc_skb+0x58/0xe8)
r8:c02cde60 r7:00000020 r6:000006c0 r5:c4802100 r4:c3e96180
r3:c05f2018
[ ](__alloc_skb+0x0/0xe8)来自[ ](__netdev_alloc_skb+0x24/0x4c)
[ ](__netdev_alloc_skb+0x0/0x4c)来自[ ](cpsw_rx_handler + 0xc0/0x13c)
R4:c4916000 r3:00000003
[ ](cpsw_rx_handler + 0x0/0x13c)、来自[ ](_cpdma_chan_free+0x88/0x8c)
R7:00020000 R6:c3977f40 R5:c3978380 R4:60000113
[ ](_cpdma_chan_free+0x0/0x8c)从[ ](_cpdma_chan_process+0xFC/0x110)
[ ](_cpdma_chan_process+0x0/0x110)从[ ](cpdma_chan_process+0x30/0x54)
R7:00000000 R6:00000040 R5:00000001 R4:c3978380
[ ](cpdma_chan_process+0x0/0x54)从[ ](cpsw_poll+0x34/0xa0)
r6:00000040 r5:c4916370 r4:c4916360 r3:c0274044
[ ](cpsw_poll+0x0/0xa0)从[ ](net_rx_action+0x6c/0x15c)
r8:00000040 r7:0000010e R6:00000001 r5:c04b5f40 r4:c4916370
r3:c0274044
[ ](net_rx_action+0x0/0x15c)从[ ](__do_softirq+0x84/0x114)
[ ](__do_softirq+0x0/0x114)从[ ](IRQ_EXIT+0x48/0x98)
[ ](IRQ_EXIT+0x0/0x98)、来自[ ](ASM_DE_IRQ+0x7c/0x9C)
[ ](ASM_DE_IRQ+0x0/0x9C)从[ ](_IRQ_USR+0x3c/0xa0)
异常堆栈(0xc1fe9fb0至0xc1fe9ff8)
9fa0: 00000001 00000514 00000514 00000001
9fc0:50ec84d8 50ec8490 4013f550 00000152 003d0f00 4014b3d8 00000000 50ec7e24
9fe0:50ec7e0c 50ec78e8 00010cf0 000106a0 60000010 ffff
r5:fa200000 r4:ffffff
MEM 信息:
每个 CPU 的正常值:
CPU 0:Hi: 18、btch: 3 USD: 3
Active_anon:1083 inactive_anon:22 isoled_anon:0
active_file:344 inactive_file:680 isoled_file:32
unevicable:0脏:0写回:0不稳定:0
免费:104 slab_reimclable:343 slab_unreimclable:5107
已映射:477 shmem:50个可页面:111个回弹:0
正常可用:416KB 最小值:1112KB 低电平:1388KB 高电平:1668KB ACTIVE_ANON:4332KB INACTIVE_ANON:88KB ACTIVE_FILE:1376kB INACTIVE_FILE:2720KB UNEVICODE:0KB STRELABLED (ANON):0KB INSTRAME (FILE):128KB LOWATD:77824KB RAB_RELABLED:0KB RADE_RELLEVATD:032KB INCLKb:0KB INCLKKB_RELABLEM:0KB INCLINCLKLEMRELK:0KB INCLINCLINCLINK_RELABLEM:0KB:0KB INCLINCLINCLINCLINKKB_CLIND:0KB:0KB RAME:0KB 否
lowmem_reserve[]:0 0 0
正常:52*4KB 12*8KB 1*16KB 1*32KB 1*64KB 0*128KB 0*256KB 0*512KB 0*1024KB 0*2048KB 0*4096KB =416KB
1092页级总页数
32768页 RAM
224个免费页面
14558保留页
2344层块页面
1777页已共享
0页交换缓存
slub:无法在节点-1上分配内存(GFP=0x20)
高速缓存:kmalloc-2048、对象大小:2048、缓冲区大小:2048、默认顺序:2、最小顺序:0
节点0:厚层:1028、objs:8134、free: 0
