8-174
Cisco IOS XR Troubleshooting Guide for the Cisco CRS-1 Router
OL-21483-02
Chapter 8 Process Monitoring and Troubleshooting
follow Command
• examining the contents of a memory location or a variable in a process to determine the cause of a
corruption issue
• investigating issues where a process or thread is stuck in a loop.
A livelock condition is where two or more processes continually change their state in response to
changes in the other processes.
The following actions can be specified with the follow command:
• Follow all live threads of a given process or a given thread of a process and print stack trace in a
format similar to core dump output
• Follow a process in a loop for a given number of iterations
• Set a delay between two iterations while invoking the command
• Set the priority at which this process should run while this command is being executed
• Dump memory from a given virtual memory location for a given size
• Display register values and status information of the target process
• Take a snapshot of the execution path of a thread asynchronously to investigate performance-related
issues – this can be done by specifying a high number of iterations with a zero delay
Caution If your system is running Release 3.8.0, 3.8.1, 3.8.2, or 3.9.0 software, you should not run the
follow process and follow job commands, because these can cause a kernel crash at the target node.
Therefore, for these software releases, you should use other available commands for troubleshooting and
call Cisco Technical Support if the problem is not resolved. (This crash behavior does not occur for
releases other than the ones listed.)
The following example shows the live thread of process 929034375.
RP/0/RP0/CPU0:router# follow process 929034375
Attaching to process pid = 929034375 (pkg/bin/bgp)
No tid specified, following all threads
DLL Loaded by this process
-------------------------------
DLL path Text addr. Text size Data addr. Data size Version
/pkg/lib/libsysmgr.dll 0xfc122000 0x0000df0c 0xfc0c2b14 0x000004ac 0
/pkg/lib/libcerrno.dll 0xfc130000 0x00002f04 0xfc133000 0x00000128 0
/pkg/lib/libcerr_dll_tbl.dll 0xfc134000 0x00004914 0xfc133128 0x00000148 0
/pkg/lib/libltrace.dll 0xfc139000 0x00007adc 0xfc133270 0x00000148 0
/pkg/lib/libinfra.dll 0xfc141000 0x00033c90 0xfc1333b8 0x00000bbc 0
/pkg/lib/cerrno/libinfra_error.dll 0xfc1121dc 0x00000cd8 0xfc175000 0x000000a8 0
/pkg/lib/libios.dll 0xfc176000 0x0002dab0 0xfc1a4000 0x00002000 0
/pkg/lib/cerrno/libevent_manager_error.dll 0xfc1a6000 0x00000e88 0xfc133f74 0x00
/pkg/lib/libc.dll 0xfc1a7000 0x00079d70 0xfc221000 0x00002000 0
/pkg/lib/libsyslog.dll 0xfc223000 0x000054e0 0xfc1750a8 0x00000328 0
/pkg/lib/libplatform.dll 0xfc229000 0x0000c25c 0xfc236000 0x00002000 0
/pkg/lib/libbackplane.dll 0xfc243000 0x000013a8 0xfc1755b8 0x000000a8 0
/pkg/lib/cerrno/libpkgfs_error.dll 0xfc245000 0x00000efc 0xfc175660 0x00000088 0
/pkg/lib/libnodeid.dll 0xfc246000 0x0000a588 0xfc1756e8 0x00000248 0
/pkg/lib/libdebug.dll 0xfc29b000 0x0000fdbc 0xfc2ab000 0x00000570 0
/pkg/lib/cerrno/libdebug_error.dll 0xfc294244 0x00000db0 0xfc175c68 0x000000e8 0
/pkg/lib/lib_procfs_util.dll 0xfc2ac000 0x00004f20 0xfc175d50 0x000002a8 0
/pkg/lib/libinst_debug.dll 0xfc375000 0x0000357c 0xfc36d608 0x000006fc 0
/pkg/lib/libpackage.dll 0xfc3c8000 0x00041ad0 0xfc40a000 0x00000db4 0