Inleiding
In dit document wordt de oplossing beschreven voor sessmgr-instanties die als gevolg van hoge temperaturen in de WAARSCHUWINGSstatus terechtkomen acsmgr_icsr_frwk_instance_chkpt_falied()
procesgebruik.
Probleembeschrijving
Platform ASR500
SW-versie: 21.27.4 en 21.19.10
Session Manager-instanties in waarschuwingsstatus vanwege hoog geheugenverbruik op acsmgr_icsr_frwk_instance_chkpt_falied()
functie wanneer sessie herstel is uitgeschakeld:
[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
Analyse
Om te isoleren of het hoge aantal abonnees het proces in gang zet acsmgr_icsr_frwk_instance_chkpt_falied()
om te worden overbenut, wordt een sessmgr-instantie bezig-out uitgevoerd en wordt bevestigd dat het geheugengebruik van sessmgr niet is afgenomen:
[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
Van de logboeken, wanneer een bezig-out wordt uitgevoerd op één van de beïnvloede sessmgr instanties, vermindert het het aantal gebruikte zittingen, maar de gebruikte geheugentoewijzing blijft hoog en toont om te veroorzaken sessmgr instantie om in de staat van de WAARSCHUWING te zijn.
Bij nader onderzoek acsmgr_icsr_frwk_instance_chkpt_falied()
Deze functie wordt aangeroepen terwijl de informatie van de controlepost wordt verwerkt. In deze functie zijn er operaties voor het toevoegen/bijwerken/wissen van lijsten die niet werken zoals verwacht wanneer het herstel van de sessie is uitgeschakeld en dit is de reden voor het toegenomen geheugenverbruik. Het geheugen dat hier wordt gebruikt, wordt in de loop der tijd in dit scenario geaccumuleerd. Dit gedrag doet zich alleen voor in het scenario waarin de require session recovery
niet ingesteld. Het geaccumuleerde geheugen om te verwerken acsmgr_icsr_frwk_instance_chkpt_falied()
wordt niet bevrijd wanneer (geen require session recovery
), wat de oorzaak kan zijn van de membraanvorming."
Oplossing
Voer sessieherstel uit om dit probleem op te lossen.
Procedure
Stap 1. Controleer of de functie voor het herstel van de sessie is ingeschakeld via de sessie en of de functies licenties gebruiken op het systeem met de show license info
uit. Als de huidige status van de functie Sessieherstel is uitgeschakeld, kunt u deze functie niet inschakelen totdat een licentiesleutel in het systeem is geïnstalleerd.
Stap 2. Gebruik dit configuratievoorbeeld om sessieherstel in te schakelen.
configure
require session recovery
end
Deze optie wordt pas van kracht nadat het systeem opnieuw is opgestart.
Stap 3. Sla uw configuratie op zoals beschreven in Verificatie en opslag van uw configuratie.
Stap 4. Start het systeem opnieuw op met de reload
uit. Dit is de melding die wordt weergegeven:
Bevestig uw wens om het systeem opnieuw te starten en voer Yes
.
Het systeem, wanneer opnieuw opgestart, maakt sessieherstel mogelijk en maakt alle gespiegelde "stand-by-mode" taken, voert pakketverwerkingskaartreserveringen, en andere bewerkingen automatisch uit.
Stap 5. Nadat het systeem opnieuw opgestart is, moet u controleren of het systeem voorbereid is om deze functie te ondersteunen zoals beschreven in Sessieherstelstatus bekijken. Meer geavanceerde gebruikers kunnen ervoor kiezen de require session recovery
opdrachtsyntaxis in een configuratiebestand dat al bestaat met een teksteditor of andere middelen, en pas vervolgens handmatig het configuratiebestand toe. Wees voorzichtig als u dit doet, om er zeker van te zijn dat deze opdracht wordt geplaatst tussen de eerste regels van een configuratiebestand dat al bestaat; het moet verschijnen voor de aanmaak van een niet-lokale context.