목차

소개

문제 설명

분석

솔루션

절차

소개

이 문서에서는 high(높음)로 인해 WARN 상태로 전환되는 essmgr 인스턴스의 솔루션에 대해 설명합니다 acsmgr_icsr_frwk_instance_chkpt_falied() 프로세스 사용.

문제 설명

플랫폼 ASR5500

SW 버전: 21.27.4 및 21.19.10

의 높은 메모리 소비로 인해 세션 관리자 인스턴스가 경고 상태에 있음  acsmgr_icsr_frwk_instance_chkpt_falied()  세션 복구가 비활성화될 때의 기능:

[local]ASR5500# show task resources | grep -v good

task   cputime        memory     files      sessions

cpu facility      inst  used  allc   used  alloc used allc  used  allc S status

----------------------- ----------- ------------- --------- ------------- ------

1/0 sessmgr         13   26%  100% 930.8M 900.0M   37  500  4643 12000 I   warn

1/0 sessmgr         36   32%  100% 938.8M 900.0M   39  500  5155 12000 I   warn

1/0 sessmgr         53   29%  100% 937.8M 900.0M   40  500  4916 12000 I   warn

1/0 sessmgr         56   29%  100% 930.2M 900.0M   41  500  4649 12000 I   warn

1/0 sessmgr         83   35%  100% 970.2M 900.0M   40  500  5382 12000 I   warn

1/0 sessmgr         90   24%  100% 931.3M 900.0M   42  500  4621 12000 I   warn

1/0 sessmgr        130   28%  100% 935.0M 900.0M   40  500  4907 12000 I   warn

1/0 sessmgr        141   26%  100% 936.7M 900.0M   37  500  4917 12000 I   warn

1/0 sessmgr        145   23%  100% 933.9M 900.0M   39  500  4883 12000 I   warn

1/0 sessmgr        174   26%  100% 927.4M 900.0M   37  500  4620 12000 I   warn

1/0 sessmgr        188   31%  100% 963.0M 900.0M   40  500  5305 12000 I   warn

1/0 sessmgr        223   26%  100% 933.5M 900.0M   38  500  4631 12000 I   warn

Aggregate consumption per proc:

-------- ------------------------------------------ -------------- -------------- -------------- --------- ---------

| Nr     |                 Process                  |   Similar    | Total Bytes  | Human Bytes  | Percent | % Acum  |

======== ========================================== ============== ============== ============== ========= =========

| 1      | acsmgr_icsr_frwk_instance_chkpt_falied() |          757 |    108301860 |     103.3 MB |  13.95% |  13.95% |

| 2      | egtpc_allocate_peer_rec()                |           89 |     77599472 |      74.0 MB |  10.00% |  23.95% |

| 3      | sn_slist_dnode_alloc()                   |          471 |     64427392 |      61.4 MB |   8.30% |  32.25% |

| 4      | sessmgr_allocate_callline()              |          156 |     48601944 |      46.4 MB |   6.26% |  38.51% |

| 5      | sn_aaa_buffer_alloc_more_type()          |           45 |     34836120 |      33.2 MB |   4.49% |  43.00% |

[local]ASR5500# show task resources | grep -v good

Session Recovery Status:

Overall Status : Not Enabled

Last Status Update : 8 seconds ago

분석

총 가입자 수가 많으면 이 프로세스가 트리거되는지 격리하려면 acsmgr_icsr_frwk_instance_chkpt_falied() 과도하게 활용하려면 sesmgr 인스턴스 통화 중 출력이 수행되며, sesmgr 메모리 사용률이 감소하지 않은 것으로 확인됩니다.

[local]ASR5500> show task resources facility sessmgr instance 10

task   cputime        memory     files      sessions

cpu facility      inst  used  allc   used  alloc used allc  used  allc S status

----------------------- ----------- ------------- --------- ------------- ------

8/0 sessmgr         10   20%  100% 981.8M 900.0M   43  500  4142 12000 I   warn

Total                 1  20.20%    981.8M            43         4142

[local]ASR5500> task sessmgr instance 10 busy-out

[local]ASR5500> show task resources facility sessmgr instance 10

task   cputime        memory     files      sessions

cpu facility      inst  used  allc   used  alloc used allc  used  allc S status

----------------------- ----------- ------------- --------- ------------- ------

8/0 sessmgr         10   19%  100% 979.7M 900.0M   42  500  3946 12000 B   warn

Total                 1  19.35%    979.7M            42         3946

[local]ASR5500> task sessmgr instance 10 enable

[local]ASR5500> show task resources facility sessmgr instance 10

task   cputime        memory     files      sessions

cpu facility      inst  used  allc   used  alloc used allc  used  allc S status

----------------------- ----------- ------------- --------- ------------- ------

8/0 sessmgr         10   17%  100% 979.8M 900.0M   40  500  4141 12000 I   warn

Total                 1  17.33%    979.8M            40         4141

로그에서 영향받는 sessmgr 인스턴스 중 하나에 대해 통화 중 로그아웃을 수행하면 사용된 세션 수가 감소하지만 사용된 메모리 할당은 여전히 높게 유지되며 sessmgr 인스턴스가 WARN 상태가 되는 것으로 표시됩니다.

추가 조사에서는 acsmgr_icsr_frwk_instance_chkpt_falied()체크포인트 정보가 처리되는 동안 함수가 호출됩니다. 이 기능에는 목록 추가/업데이트/삭제 작업이 있으며, 이 작업은 세션 복구가 비활성화되었을 때 예상대로 작동하지 않으므로 메모리 소비량이 증가합니다. 여기에 사용된 메모리는 시간이 지남에 따라 이 시나리오에 축적된다. 이 동작은 require session recovery 이(가) 구성되지 않았습니다. 처리할 누적 메모리  acsmgr_icsr_frwk_instance_chkpt_falied() 다음 상황이 발생해도 해제되지 않음(아니요) require session recovery)를 사용합니다.

솔루션

이 문제를 해결하려면 세션 복구를 구현하십시오.

절차

1단계. Exec mode 프롬프트에서 세션을 통해 세션 복구 기능이 활성화되었는지, 그리고 이 기능을 통해 시스템에서 라이센스를 사용할 수 있는지 확인합니다. show license info 명령을 실행합니다. 세션 복구 기능의 현재 상태가 Disabled(비활성화됨)이면 시스템에 라이센스 키가 설치될 때까지 이 기능을 활성화할 수 없습니다.

2단계. 세션 복구를 활성화하려면 이 컨피그레이션 예를 사용합니다.

configure

require session recovery

end

이 기능은 시스템을 다시 시작해야 적용됩니다.

3단계. 컨피그레이션 확인 및 저장에 설명된 대로 컨피그레이션을 저장합니다.

4단계. 를 사용하여 시스템을 다시 시작합니다. reload 명령을 실행합니다. 다음과 같이 표시됩니다.

Are you sure? [Yes|No]:

시스템 재시작을 수행하고자 하는지 확인하고 Yes.

시스템이 다시 시작되면 세션 복구를 활성화하고 모든 미러된 "대기 모드" 작업을 생성하며 패킷 처리 카드 예약 및 기타 작업을 자동으로 수행합니다.

5단계. 시스템을 다시 시작한 후에는 세션 복구 상태 보기에 설명된 대로 이 기능을 지원할 수 있도록 시스템의 준비 상태를 확인해야 합니다. 고급 사용자는 require session recovery 명령 구문을 사용하여 텍스트 편집기나 다른 방법으로 이미 존재하는 구성 파일에 저장한 다음 구성 파일을 수동으로 적용합니다. 이 명령이 이미 존재하는 구성 파일의 처음 몇 줄에 배치되었는지 확인하려면 이 작업을 수행할 때 주의하십시오. 로컬이 아닌 컨텍스트를 생성하기 전에 이 명령이 표시되어야 합니다.