Dump generation at unexpected application shutdown on Linux





The article covers the steps for configuring Linux to generate memory dumps in the event of unexpected application shutdown. The variety of Linux distribution kits cannot give you a 100% guarantee that the following steps are applicable to all of them without any modification. However, the general idea stays the same. The steps given in this article are fully applicable to Fedora Core 4 and its analogs.

Dump generation at unexpected application shutdown is disabled by default. Developers of Linux distribution packages recommend that you only enable dump generation on application developer computers and disable it on end-user computers.

Enabling automatic dump generation

If you run a 1C:Enterprise server as a service or you want the dumps generated every time you start the server, in the home directory of the user on whose behalf the server runs (for example, /home/usr1cv82), open the .bashrc file and add the following line to it:

ulimit -с unlimited

If you run a 1C:Enterprise server as a regular application, it is enough to run the following command before starting a server:

ulimit -с unlimited

These actions can be performed by a user with the root privileges or by a user on whose behalf the 1С:Enterprise server runs (the default user name is usr1cv82).

Specifying dump names and locations

To understand clearly which process generated a dump and to specify the dump directory, create a dump name template. You can specify a template for a single session or for all sessions. This requires root privileges.

To specify dump names and location template for a single session, run the following command:

kernel.core_pattern = /tmp/core.%e.%p

In this example the dumps are stored to the /tmp directory. A dump name begins with the core prefix, followed by the executable file name and the process ID.

To specify dump names and location template for all sessions, add the following line to the /etc/sysctl.conf file:

kernel.core_pattern = /tmp/core.%e.%p

For the changes to take effect, run the following command:

sysctl -p

Comments
0
Add comment