Thursday, June 10, 2010

How to generate core dump for an application in Linux

In order to troubleshoot application issue, a process content in memory can be dumped to a file and then the file can be analysed with debug tool, such as gdb in Linux. 
Another way of doing this is to send QUIT signal to the PID (kill –3  PID), but the thread dump will be directed to stdout, which can be viewed with “cat /proc/PID/fd/1 |tee /tmp/dump.log”, messages will be constantly directed to  /proc/PID/fd/1 until the process is stopped. So it is useful for real time debugging.
The following java application example use gcore command in gdb. (gcore or kill –3 will not stop the process )
Linux default core file size is 0, which means core dump is disabled, It needs to be changed to unlimited
#ulimit -a | grep core
core file size          (blocks, -c) 0
#ulimit –c unlimited
#ulimit -a | grep core
core file size          (blocks, -c) unlimited

Firstly, find the virtual memory size of the process, the PID is 10008 in following example.
# ps aux | egrep 'VSZ| 10008'
root       10008  0.4  8.3 2231312 660100 ?      Sl   Jun03  43:57 /opt/sunjdk6/bin/java

The process VSZ=2.2GB, it will be the size of the core file. Go to a dump dir which has more than 2.2GB free space
$cd /var/tmp

Attach to running process PID.
$gdb --pid=10008

At the gdb prompt, enter gcore command

wait for few minutes for core file to be generated. type in quit to exit gdb, answer yes to detach the process.

core file is generated
$ ls -lh /var/tmp/core.10008
-rw-r--r-- 1 root root 2.2G Jun 10 11:59 /var/tmp/core.10008
file command reveals the source program name
$ file /var/tmp/core.10008
/var/tmp/core.10008: ELF 64-bit LSB core file AMD x86-64, version 1 (SYSV), SVR4-style, from 'java'


  1. I'm a long-serving digital marketing professional and full-service as a social media marketing manager. I'm offering services at a competitively low cost. I have experience in keyword research, Article writing or Rewriting, Guest posting, B2B Lead Generation , Data Entry ,link building, web 2.0 backlink ,
    . I have 5 years of experience in the field and are assured of delivering High Quality and manual work. I have my own site name as AbidhTech. My Blog site also here. This is a Bangla deshi Science club site .

  2. Trading Directory is your portal to the world of Forex Trading. Here you can compare online brokers, view in-depth profiles and find the trading platform that's right for you. Our listings provide information on all of the important details like minimum deposit requirements and currency restrictions to help you make the right choice while searching for a broker.

  3. Trading Directory is an experienced and reliable Forex Trading company serves as an informational guide for anyone who wants to find the right online broker. On Trading Directory you can compare the best online brokers by sorting the search results by price, regulation or any other selected criteria. The search results showcase detailed broker profiles that include information such as fees and minimum deposit requirements.

  4. Mmatf Stock Real-Time Overview Of A Stock, Including Recent And Historical Price Charts, News, Events, Analyst Rating Changes And Other Key Stock Information.