Use of SIGUSR1 and SIGUSR2 on SAP Kernel


SIGUSR1 and SIGUSR2 are user-defined signals that can be sent to a process to perform the pre-defined actions. SAP has implemented these signals to help increase/decrease trace on the kernel program.

The following actions are defined for the SIGUSR1 and SIGUSR2 signals on SAP programs like disp+work, gwrd, msg_server, icman, saprouter etc.
1. SIGUSR1 reduces the trace level by one
2. SIGUSR2 increases the trace level by one and writes the current call stack of the program to the trace file. The stack can then be used to determine which operating system routine the process is currently in. Then switch the trace level downwards with SIGUSR1 as, otherwise, the entire program flow is logged in the trace file and the size of the file increases very quickly.

If you send the SIGUSR2 signal to an SAP work process (kill -USR2 <PID of work process>), the signal handler executes the pre-defined funtion for SIGUSR2 and the trace is written to dev_w<N> trace file. The trace is always started with the PID.

On Windows OS, you can use sapntkill.exe program to send this signal.

Comments

Popular posts from this blog

OS/DB Migration - CMD. STR, TOC, EXT, R3load, DDLDBS.TPL and more

Fixing Inconsistent Table - Table activation fails due to inconsistency between DD and DB

301 Redirect Using SAP Web Dispatcher