소개
이 문서에서는 EDR(Event Data Record) 활성화 이후 ASR5500의 MIO 카드에서 재확보 가능한 메모리 활용률을 높이기 위한 솔루션에 대해 설명합니다.
문제
ASR 5500 섀시는 EDR 컨피그레이션을 추가한 후 활성 MIO(Management Input/Output) 카드에서 재확보 가능한 메모리 사용량이 높게 나타났습니다.
배경 정보
ASR 5500은 단기 영구 스토리지를 위해 SSD(Solid State Drive) 어레이를 사용합니다. RAID 5는 ASR 5500에서 사용되며 hd-raid라고 합니다. 다양한 데이터 레코드는 hd-raid에 파일로 저장됩니다. 이러한 파일은 ASR 5500에서 전송됩니다. 레코드 및 파일의 수가 클 수 있으며, 이는 파일을 저장하기 위해 재사용 가능한 메모리 페이지를 많이 생성합니다. 재확보 가능한 페이지는 현재 어떤 프로세스에도 매핑되지 않은 파일 백업 페이지(즉, 매핑된 파일을 통해 할당된 페이지)입니다. 프로세스 및 메모리에서 복구 가능한 페이지는 활성(파일) + 비활성(파일) - 매핑됨으로 계산됩니다.
프로세스를 차단할 수 있는 메모리 재청구를 기반으로 도달할 수 있는 임계값이 있습니다. 중요한 작업 중에 이러한 상황이 발생하면 제시간에 응답하지 않을 때 시스템에서 카드를 전환할 수 있습니다. 최소값, 하한값 및 상한값은 kswapd(Kernel Swap Daemon)가 시작되고 중지되는 시기를 결정합니다. kswapd는 자유 메모리가 최고 수준을 넘어설 때까지 이러한 재청구를 수행하는 비동기식 프로세스입니다.
EDR 컨피그레이션 전후의 MIO 카드에 대한 메모리 세부사항의 예가 나와 있습니다.
캐시된 메모리가 약 0.8Gb이기 전에
******* 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)
gtpp group <>
gtpp storage-server local file purge-processed-files purge-interval 720