์ถ์ฒ : http://www-01.ibm.com/support/docview.wss?uid=swg21222490
์ฐธ๊ณ ๋ก IBM์์ ์ ๊ณตํ๋ ํ๋คํ ๋ถ์ํด์ ์ด๊ณณ์์ ๋ค์ด๋ก๋ ๊ฐ๋ฅํฉ๋๋ค.
MusgGather : Gathering data for OutOfMemoryErrors on AIXยฎ
Problem(Abstract)
If your Java application experiences OutOfMemory(OOM) errors on an AIXยฎ operating system, there are a number of diagnostic data files that are useful for diagnosing the problem. This mustgather document describes about the diagnostic data files to be collected and the procedure to collect the same.
Resolving the problem
The following set of diagnostic data files need to be collected to diagnose an OutOfMemory error in the Java application:
1. Javacores (Multiple javacore files might be required to diagnose native memory issues)
2. Jextracted system cores (At least two system cores might be required to diagnose native memory issues)
3. Heapdumps
4. Snap traces for analyzing native OOM errors
5. Verbose GC logs (native_stderr.log)
6. Process logs (ps)
For these diagnostic data files to be created, check that the system is configured correctly as per setup document.
Please collect the diagnostic data files for an OutOfMemory error in the Java application as per the below steps:
1. Collect the javacore, heap dump and snap trace file generated automatically by Java runtime on an OOM occurrence.
2. For Java heap exhaustion issues, collect the javacore, system core, heap dump and snap trace files generated automatically by using -Xdump option mentioned in setup.
3. For native memory issues, generate at least
three Java core, system core, heap dump and snap trace files by using
the following command:
kill -3 [PID_of_problem_JVM]
When you observe the application starting to use excessive amounts of memory, start generating these above files at regular intervals.
The time interval between each generation of
files depends on how quickly the application encounters native OOM
error. For example, if the application takes 30 minutes to produce an
native OOM error, issue the kill command at 10-minute intervals.
Please note that all the javacores, system cores,
heap dumps and snap traces can be found in the current path and the
names of them will follow the below format:
Javacore : javacore.<time stamp>.<id>.txt
Systemcore : core.<time stamp>.<id>.dmp
Snap trace : snap.<time stamp>.<id>.trc
Heap dump : heapdump.<time stamp>.<id>.phd
Run the JExtract tool against the generated system core file using the following command:
<installpath>/jre/bin/jextract [corefile]
Save the resulting archive file, which has a name in the format of core.<time stamp>.<id>.dmp.zip
4. Collect Verbose Garbage Collector data. This data is in the location specified during setup. Alternatively, the data is sent to the stderr output.
5. Collect process size monitoring data. The data is in the location specified during setup.
After collecting all the above diagnostic data files, you can submit them for help with diagnosing the problem.
Additional Information
When diagnosing the native OOM errors deeply, IBM service might ask you to collect additional information as mentioned below:
1. If the problem is suspected to be caused by a leak within the JVM, you can enable the JVM argument: -Xcheck:memory:callsite=<threshold>
This prints an allocation summary for every <threshold> allocations, by tracking calls from the JVM to the operating system memory allocation functions (malloc(), calloc(), free() and so on), along with callsite information showing which area of code requested the memory. Please use this information to track the memory allocated by an area of code that has not been freed, and to monitor how the size of that memory varies over time.
This option writes a summary of all allocations
made or freed by the JVM, for every "N" allocations. "N" is typically a
number in the range 100000 โ 500000.The output of this option is written
to stderr.
Please note the below important considerations for using the Xcheck option:
a) Only available on JDK release 5.0 and above
b) Performance can be badly affected if your threshold is set too low
c) Does not track allocations from outside the JVM
2. If the problem is suspected to be caused by Java Class Library (JCL) memory allocations, you can enable the following option:-Dcom.ibm.dbgmalloc=true
3. If operating system level debugging of native memory leaks is required, you can use the debugging extensions of the malloc subsystem of AIXยฎ. For details about using AIXยฎ debugging extensions, see the related information links.
Related information
Native Profiling on AIX'๐ป Programming > Computer General ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋งฅ(Mac) ์คํฌ๋ฆฐ์ท ๋จ์ถํค (0) | 2015.07.25 |
---|---|
๋ฌด๋ฃ ์ฌ์ด๋ ์๋ํฐ ( Free Sound Editor for Windows, Mac, Linux) (0) | 2015.07.22 |
putty ํ๊ธ ๊นจ์ง ํ์ (0) | 2015.04.20 |
[Apache/Tomcat7] ์ดํด๋ฆฝ์ค์ ํฐ์บฃ ์ฐ๋์ ์๋ฒ๋ฐํ์์ ํฐ์บฃ์๋ฒ๊ฐ ๋ชฉ๋ก์ ์๋์จ๋ค๋ฉด? (1) | 2015.04.20 |
์ค์น๊ฐ ํ์์๋ ํฌํฐ๋ธ ํฌ๋กฌ ๋ธ๋ผ์ฐ์ ( ์ ๋ฐ์ดํธ ) (0) | 2015.04.20 |