简介
本文档介绍在启用事件数据记录(EDR)后,在ASR5500的MIO卡上实现高可回收内存利用率的解决方案。
问题
添加EDR配置后,ASR 5500机箱显示活动管理输入/输出(MIO)卡上的可回收内存使用率较高。
背景信息
ASR 5500使用固态驱动器(SSD)阵列进行短期永久存储。RAID 5由ASR 5500使用,称为hd-raid。各种数据记录作为文件存储在hd-raid上。这些文件从ASR 5500传输。记录和文件的数量可能很大,这会创建大量的可回收内存页来存储文件。可回收页面是当前未映射到任何进程的文件支持页面(即通过映射文件分配的页面)。从进程和内存中,可回收页面计算为Active(file)+ Inactive(file)-Mapped。
有一个阈值,可以根据可以阻止进程的内存回收达到该阈值。如果在关键任务期间发生这种情况,系统可以在未及时响应时切换卡。最小值、低值和高值决定内核交换后台守护程序(kswapd)何时启动和停止。kswapd是一个异步进程,用于进行这些回收,直到空闲内存超过高位为止。
图中显示了EDR配置前后的MIO卡内存详细信息的示例。
以前缓存的内存大约为0.8 Gb
******* card5-cpu0 /proc/meminfo *******
MemTotal: 98941752 kB
MemFree: 93932096 kB
Buffers: 4324 kB
Cached: 838580 kB
在EDR启用后,其容量变为70Gb
******** card5-cpu0 /proc/meminfo *******
MemTotal: 98941752 kB
MemFree: 21543700 kB
Buffers: 4004 kB
Cached: 70505556 kB
Card 5, CPU 0:
Status : Active, Kernel Running, Tasks Running
File Usage : 12320 open files, 9881352 available
Memory Usage : 8875M 9.0% used, 67804M 69.0% reclaimable
Memory Details:
Static : 1437M kernel, 243M image
System : 63M tmp, 3M buffers, 3077M kcache, 68004M cache
Process/Task : 3707M (1276M small, 2082M huge, 349M other)
Other : 141M shared data
Free : 21624M free
Usable : 94940M usable (21624M free, 141M shared data, 67804M reclaimable, 4728M reserved by tasks)
解决方案
生成的EDR数量过多以及清除旧记录的时间过长都可能导致高的可回收内存使用率。建议验证文件推送到ASR 5500外部的时间和清除旧文件的时间。必须根据节点操作调整文件清除计时器。内存生命周期的一般流程如图所示。
注:文件在ASR 5500外部传输后必须清除。首选方法是使用 cdr remove-file-after-transfer
配置.此配置适用于CDR和EDR。
用于启用删除的命令显示在代码片段中。
[local]ASR5500# config
[local]ASR5500(config)# context (name)
ASR5500(config-ctx)# edr-module active-charging-service
ASR5500(config-ctx)# cdr use-harddisk
ASR5500(config-ctx)# cdr-remove-file-after-transfer
有用的命令
show cdr statistics
- 监控可回收内存。它分别显示5分钟、15分钟、最小值和最大值的上次读取结果。
show cpu info card [5|6] verbose | grep reclaimable
show cdr file-space-usage
show gtpp storage-server local file statistics
在输出示例中,可以清除89Gb。
[local]ASR5500# show cpu info card 5 verbose | grep reclaim
Memory Usage : 10984M 11.2% used, 86380M 87.9% reclaimable
Usable : 74076M usable (939M free, 86380M reclaimable, 13242M reserved by tasks)
Memory Usage : 10985M 11.2% used, 86445M 87.9% reclaimable
Usable : 74065M usable (872M free, 86445M reclaimable, 13253M reserved by tasks)
Memory Usage : 11064M 11.3% used, 86387M 87.9% reclaimable
Usable : 73904M usable (851M free, 86387M reclaimable, 13334M reserved by tasks)
Memory Usage : 9803M 10.0% used, 87803M 89.3% reclaimable
Usable : -NA- (697M free, 87803M reclaimable, 13511M reserved by tasks)
- 检查CDR/EDR清除间隔的GTPP配置,并确认它设置为较低间隔,例如720秒。
注意:此值必须根据特定呼叫模式流进行设置。
gtpp group <>
gtpp storage-server local file purge-processed-files purge-interval 720