-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add detail to initial Java dump topic #79
Conversation
Work in progress. @pshipton please can you review what I have so far for accuracy. I wrote it up based on a recent javacore but there are some explanations missing and possibly some errors. The core file did not have a SHARED CLASSES section as I guess it wasn't enabled. Can you provide me with something please? Still work to do for THREADS but that's all I have time for this week. |
1ed2c03
to
519d8cc
Compare
Attaching a javacore containing shared cache info. The cgroup info change is not delivered yet so the javacore does not contain this. |
NULL | ||
``` | ||
|
||
## THREADS |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no explanation of the THREADS section.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, WIP. Will get back to it soon. Thanks for the SHARED CLASSES output.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SHARED CLASSES and THREADS sections now in place. I think that the topic now contains a relatively complete set of information. Do we know if the cgroup PR will go in to 0.10.0 please? If it will not, I'll comment out the parts that relate to it and I think this is good to merge.
What I'd like to do as a separate task is take 2 or 3 specific scenarios (hopefully from service) and create troubleshooting examples. E.g. I got a gpf, what can javadump tell me about the root cause? If we can supplement this topic with those examples, I think the info here is as good as it was in the J9 docs. If you have any thoughts on what the scenarios should be, please let me know.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cgroup PR is still under review and blocked on the docs being ready. It doesn't need to go into 0.10.0, but it depends on when the review comments are suitably addressed and the branch for 0.10.0 occurs. In theory it should go in after 0.10.0 but no guarantees.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpf or assert, user signal, OOM, deadlock maybe.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the suggestions on scenarios.
For cgroup, I think the docs are ready .... I've got it in the release notes and what's new, plus this javadump topic contains a mention and example output. One of the developers is writing a blog about it, which I might be able to extract more information from later on. If I can get this topic merged I can close the doc issue. Let me know ....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The cgroup review still needs to close before it can be merged, and the review comments haven't yet been addressed. We were hoping to branch for 0.10.0 tomorrow, but seems likely we won't be ready.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cgroup information removed for 0.10.0
519d8cc
to
2939e93
Compare
28b3209
to
e726783
Compare
docs/dump_javadump.md
Outdated
|
||
In the following example, the shared classes cache was created with a Class Debug Area (`-Xnolinenumbers=false`). Byte code instrumentation (BCI) is enabled, which is the default, and VMs sharing the cache are allowed to store classpaths, which is also the default. | ||
|
||
The `Cache Summary` shows a cache size (`2SCLTEXTCSZ`) of 16776608 bytes, with a soft maximum size (`2SCLTEXTSMB`) also of 16776608 bytes, which leaves 12691668 bytes of free space (`2SCLTEXTFRB`). The size of the Class Debug Area (`2SCLTEXTDAS`) is 1331200 bytes, which uses only 11% of the available space. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
11% is the amount used inside of the class debug area, i.e. 156240 is used out of 1331200.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed, thanks.
docs/dump_javadump.md
Outdated
- `3XMTHREADINFO3`: Java callstack information (`4XESTACKTRACE`) or Native call stack information (`4XENATIVESTACK`). | ||
- `5XESTACKTRACE`: This line indicates whether locks were taken by a specific method. | ||
|
||
Java thread priorities are mapped to operating system priority values. The larger the thread priority, the more frequently the thread runs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The larger the thread priority, the more frequently the thread runs.
Not necessarily true https://www.linuxjournal.com/node/10267
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, removed that statement.
46b5d55
to
84404d7
Compare
Jenkins doc stage |
Includes sections to cover all the different parts that make up a Java dump file, with explanations for the data. Makes use of a very recent javacore. Signed-off-by: Sue Chaplain <[email protected]>
84404d7
to
860009b
Compare
Includes sections to cover all the different
parts that make up a Java dump file, with explanations
for the data. Makes use of a very recent javacore
that includes the new cgroup information for
eclipse-openj9/openj9#1932
Signed-off-by: Sue Chaplain [email protected]