目录

简介

问题

背景信息

解决方案

有用的命令

简介

本文档介绍在启用事件数据记录(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

有用的命令

- 启用CDMOD时。

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