How to Use Procdump.exe to Create a Memory Dump for PSQL Engine

How to Use Procdump.exe to Create a Memory Dump for PSQL Engine

Released Date: 7/10/2017

If your PSQL server crashes from time to time, then it is necessary to get a memory dump of the PSQL engine processor and send that to Actian tech support for further analysis.  The following procedure outlines how to do this.

In order to get a userdump of a process, you will need to get the Microsoft Sysinternals tool called ProcDump. You can download it from here: http://technet.microsoft.com/en-us/sysinternals/dd996900. Unzip it on your server, and we suggest using a directory something like C:\procdump providing that C: has sufficient free space. The size of the dump will be the size of the amount of memory that the process (ntdbsmgr64.exe) is using, which can be many GBs.

Find the Command Prompt on the server, right click and choose to "Run as administrator." See sample screen below:




Navigate to the location where procdump.exe resides. To capture a userdump of a crashing/unloading process, you will need to start ProcDump and let it continue to run until the problem occurs. You can start it with a command line such as:

C:\procdump>procdump -64 -e -ma ntdbsmgr64.exe C:\procdump  

C:\procdump is the output location and you can modify that.  It will show you something similar to the following:

ProcDump v4.0 - Writes process dump files Copyright (C) 2009-2011 Mark Russinovich Sysinternals - www.sysinternals.com

Process:             ntdbsmgr64.exe (1248)
CPU threshold:       n/a
Performance counter: n/a
Commit threshold:     n/a
Threshold seconds:   n/a
Number of dumps:     1
Hung window check:   Disabled
Exception monitor:   Unhandled
Terminate monitor:   Disabled
Dump file:           C:\procdump\ntbtrv64_YYMMDD_HHMMSS.dmp

When the exception happens and the file gets written, you can close everything and stop both PSQL relational and transaction engine services, and then restart them to resume.

Zip the dump file (it will compress well) and send it to ftp://ftp.pervasive.com.  Contact Actian tech support for FTP upload user id and password.  It is likely that you will need to open a support incident to move forward with this incident.

As strange as it may sound, when you have the procdump utility running, then you may never get a crash. We noticed the same behavior happened on both PSQL 11 and 12 engine.  We think there is something of the procdump utility that make the PSQL engine more resistant to crash.


EMK


    • Related Articles

    • How to Use EL850DB.EXE Utility to Create PSQL Databases

      Release Date: 12/4/2018 Modified Date: 06/20/2020 Version: Elliott 8.5 Elliott 8.5 includes an EL850DB.EXE utility to make it easy to create PSQL databases. The new utility EL850DB.EXE is included in the Elliott 8.5 release, and you can find it in ...
    • How Do I Turn on PSQL Relational Engine Security?

      Q - I let my users use Crystal Report to access Elliott's data through ODBC. But they can access every single table in Elliott, including sensitive data in Payroll and General Ledger. How do I turn on PSQL's Relational Engine security so my users ...
    • Do I Need to Change PSQL Server Engine Default Parameters After Installing It?

      Q - I am installing a PSQL server engine for my client. Do I need to change any PSQL parameters after the installation? A - Generally speaking, you don't need to change PSQL parameters after the installation. There are two optional changes you can ...
    • Can I Dynamically Adjust Elliott / PSQL 11 Server Memory?

      In the virtual server environment, it is very easy to adjust the server's memory in order to better suit your requirements and more efficiently use the server hardware. However, it is important for you to be aware that the PSQL 11 engine license can ...
    • Configure PSQL Server Memory Usage

      Version: Any Release Date: 12/17/2021 Q - Can you tell us why PSQL process is taking up so much memory? Is there anything we can do? See sample screen below: A - PSQL server by default can take up about 60ish% of the server memory. This is ...