Inhalt

Einleitung

Voraussetzungen

Verwendete Komponenten

Problem

Lösung

Verwandte Diskussionen in der Cisco Support Community

Einleitung

tacacsd ist ein IOS XR-Prozess, der mit dem Tacacs AAA-Service verknüpft ist. In diesem Dokument werden ein Softwarefehler und seine Symptome beschrieben, die dazu führen können, dass Router mit IOS XR Version 4.2.X oder niedriger eine konstant hohe CPU-Auslastung beobachten.

Voraussetzungen

Es gibt keine spezifischen Anforderungen für dieses Dokument.

Verwendete Komponenten

Das in diesem Dokument behandelte Problem betrifft Cisco GSR, ASR9000, CRS und andere Router mit IOS XR. Die unten angegebenen Ausgaben stammen von einem Übungs-Router, auf dem die IOS XR-Version kleiner als 4.2.X ausgeführt wird.

Problem

Router mit IOS XR Version 4.2.X oder niedriger beobachten aufgrund eines bekannten Softwarefehlers möglicherweise eine konstant hohe CPU-Auslastung aufgrund des Alarm-Logger-Prozesses. Prozess-CPU-Ausgabe würde Alarm-Logger-Prozess mit maximaler CPU-Auslastung anzeigen.

show proc cpu | ex "0% 0% 0%"

CPU utilization for one minute: 100%; five minutes: 100%; fifteen minutes: 100%

PID 1Min 5Min 15Min Process

<snip>

53281 2% 2% 2% syslogd_helper

57379 1% 1% 1% fabricq_prp_driver

69636 1% 1% 1% correlatord

69677 6% 6% 6% syslogd

118842 1% 1% 1% sysdb_svr_local

122962 3% 3% 3% gsp

229604 2% 2% 2% eem_ed_syslog

262456 1% 1% 1% tacacsd

452726918 67% 71% 72% alarm-logger

463302887 1% 1% 1% exec

<snip>

Im Protokollierungspuffer werden fortlaufende Protokolle angezeigt, ähnlich wie:

tacacsd[XXXX]: %SECURITY-TACACSD-7-GENERIC_ERROR : Fehler beim Abrufen der Anforderung für: Schlüssel -XXXXX/XXXX/XXXX/XXXX-Sitzung XXXXX

show log

<snip>

RP/0/7/CPU0:Dec 26 04:02:03.149 : tacacsd[1110]: %SECURITY-TACACSD-6-SERVER_UP :

TACACS+ server 32.95.X.X/XXXX is UP

RP/0/7/CPU0:Dec 26 04:02:05.956 : tacacsd[1110]: %SECURITY-TACACSD-6-SERVER_DOWN :

TACACS+ server 32.95.X.X/XXXX is DOWN - Socket 43: Connection timed out

RP/0/7/CPU0:Dec 26 04:02:09.468 : tacacsd[1110]: %SECURITY-TACACSD-6-SERVER_DOWN :

TACACS+ server 199.37.X.X/XXXX is DOWN - Socket 43: Connection timed out

RP/0/7/CPU0:Dec 26 04:02:09.647 : tacacsd[1110]: %SECURITY-TACACSD-6-TIMEOUT_IGNORED :

A time out event has been ignored for context key -953829129/1073/60000000/6486405

(session 6486405)

RP/0/7/CPU0:Dec 26 04:02:11.647 : tacacsd[1110]: %SECURITY-TACACSD-7-GENERIC_ERROR :

Failed to get request for: key -953829129/1073/60000000/6486405 session 105407493

RP/0/0/CPU0:last message repeated 520 times

RP/0/7/CPU0:Dec 26 04:02:34.064 : tacacsd[1110]: %SECURITY-TACACSD-6-SERVER_UP :

TACACS+ server 32.95.X.X/XXXX is UP

RP/0/7/CPU0:Dec 26 04:02:34.064 : tacacsd[1110]: %SECURITY-TACACSD-7-GENERIC_ERROR :

Failed to get request for: key -953829129/1073/60000000/6486405 session 105407493

Die Details zu Warnmeldungsprotokollen und TACACSD-Prozessen sind unten aufgeführt.

show processes alarm-logger

<snip>

Job Id: 114

PID: 135303

Executable path: /c12k-os-4.2.4/sbin/alarm-logger

Instance #: 1

Version ID: 00.00.0000

Respawn: ON

Respawn count: 1

Max. spawns per minute: 12

Last started: Tue Aug 13 02:17:23 2013

Process state: Run

Package state: Normal

core: MAINMEM

Max. core: 0

Level: 91

Placement: None

startup_path: /pkg/startup/alarm-logger.startup

Ready: 0.672s

Process cpu time: 1401.018 user, 49.774 kernel, 1450.792 total

JID TID Stack pri state TimeInState HR:MM:SS:MSEC NAME

114 1 88K 10 Receive 0:00:02:0071 0:00:40:0919 alarm-logger

114 2 88K 10 Receive 3242:46:17:0308 0:00:00:0000 alarm-logger

114 3 88K 10 Reply 0:00:00:0000 0:23:08:0029 alarm-logger

114 4 88K 10 Mutex 0:00:00:0000 0:00:21:0957 alarm-logger

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

<snip>

show processes tacacsd

<snip>

Job Id: 1110

PID: 266551

Executable path: /disk0/iosxr-infra-4.2.4/bin/tacacsd

Instance #: 1

Version ID: 00.00.0000

Respawn: ON

Respawn count: 1

Max. spawns per minute: 12

Last started: Tue Aug 13 02:23:47 2013

Process state: Run

Package state: Normal

Started on config: cfg/gl/aaa/tacacs/

Process group: central-services

core: MAINMEM

Max. core: 0

Placement: Placeable

startup_path: /pkg/startup/tacacsd.startup

Ready: 3.954s

Process cpu time: 1010.118 user, 185.932 kernel, 1196.050 total

JID TID Stack pri state TimeInState HR:MM:SS:MSEC NAME

1110 1 108K 16 Sigwaitinfo 3242:46:40:0742 0:00:00:0116 tacacsd

1110 2 108K 10 Nanosleep 0:01:03:0835 0:00:00:0019 tacacsd

1110 3 108K 10 Receive 3242:46:41:0593 0:00:00:0002 tacacsd

1110 4 108K 10 Reply 0:00:00:0000 0:08:55:0970 tacacsd

1110 5 108K 16 Receive 3242:46:40:0771 0:00:00:0000 tacacsd

1110 6 108K 10 Receive 0:07:07:0403 0:04:03:0462 tacacsd

1110 7 108K 10 Receive 0:00:01:0389 0:03:28:0939 tacacsd

1110 8 108K 10 Receive 0:00:01:0332 0:03:03:0622 tacacsd

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

<snip>

Eine hohe CPU wird durch eine Flut von Syslog-Meldungen verursacht, die dazu führen, dass der Alarm-Logger-Puffer voll wird. Daher bleibt der Alarm-Logger-Prozess damit beschäftigt, die Nachricht zu verarbeiten und gleichzeitig den Pufferstatus "Voll" anzunehmen.  In diesem Fall ist der TACACS-Prozess eine überwältigende Warnmeldungs-Protokollierung. Da die Warnmeldungs-Protokollierung zum Opfer fällt, ist ein Neustart des Warnmeldungs-Protokollierungsprozesses nicht hilfreich, da der Puffer des freigegebenen Speichers nach dem Neustart des Prozesses erhalten bleibt.

Lösung

Dieses Problem wurde durch den Softwarefehler CSCuh98484 behoben - TACACSD "Failed to get request for key" (Fehler beim Abrufen der Schlüsselanforderung) verursacht eine hohe CPU. Details zu Fehlern finden Sie hier.

Bitte beachten Sie, dass der Neustart von tacacsd eine Problemumgehung ist, bei der die Protokolle gestoppt und die CPU-Auslastung auf den normalen Stand zurückgesetzt werden sollte. Das Neustarten des TACACSD-Prozesses wirkt sich nicht auf die Funktionalität oder die Datenpaketweiterleitung aus. Der Prozess befindet sich im ursprünglichen Zustand.

Dieser Fehler wurde in den folgenden IOS XR-Versionen behoben.

4,3/2,SP2

4,3/2,SP3

4,3/2,SP5

4,3/2,SP6

4.3.2.SP7

4,3/2,SP8