hs_err_pid這種文件,是JVM出現錯誤時dump下來的。記錄了錯誤發生當時:
1)JVM的狀態參數
2)Linux的狀態參數
就以下面的文件為例:
# # There is insufficient memory for the Java Runtime Environment to continue. # Cannot create GC thread. Out of system resources. # Possible reasons: # The system is out of physical RAM or swap space # In 32 bit mode, the process size limit was hit # Possible solutions: # Reduce memory load on the system # Increase physical memory or swap space # Check if swap backing store is full # Use 64 bit Java on a 64 bit OS # Decrease Java heap size (-Xmx/-Xms) # Decrease number of Java threads # Decrease Java thread stack sizes (-Xss) # Set larger code cache with -XX:ReservedCodeCacheSize= # This output file may be truncated or incomplete. # # Out of Memory Error (gcTaskThread.cpp:48), pid=92270, tid=140070527960832 # # JRE version: (8.0_77-b03) (build ) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.77-b03 mixed mode linux-amd64 compressed oops) # Core dump written. Default location: /data/home/data_monitor/dmonitor/dmonitor/core or core.92270 (max size 100000 kB). To ensure a full core dump, try "ulimit -c unlimite d" before starting Java again #
出現上述文件的可能原因是:
1)內存不夠
2)進程打開數達到上限
1、釋放內存
請參看這篇文章
http://www.cnblogs.com/kangoroo/p/7375604.html
2、修改進程打開數上限
修改文件/etc/security/limits.conf
idata@qa-f1502-xg01.xg01:~$ vim /etc/security/limits.conf
修改例子如下
arch soft nproc 102400 arch hard nproc 102400
第一列:linux系統用戶名,*代表所有
第二列:軟連接/硬鏈接
第三列:類型,nproc-進程的數量/nofile-文件打開數/core-core文件大小
第四列:數量