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