目錄

簡介

問題

背景資訊

解決方案

有用的命令

簡介

本文檔介紹在啟用事件資料記錄(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