Posts by date
- Sort by:
- Date
- Title
- Likes
- Comments ▼
- Views
New: Customizable Access Log Format in WAS 8.0.0.2
In a previous post , I covered some of the ways to log per-HTTP response time information in WAS. Good news -- a new and more standard approach has been added in WAS 8.0.0.2 through PM46717 . WAS has had NCSA logging -- which is most commonly know through the LogFormat that httpd/IHS uses by default in its access/error logs -- but the format in WAS was not customizable, and did not have response times. WAS 8.0.0.2 introduces a customizable format which includes %D: "The elapsed time of the request. Millisecond accuracy, microsecond... [More]
|
New: System dump produced on first OOM in WAS 8.0.0.2
Starting in WAS 8.0.0.2 running on IBM JVMs, the default artifacts produced on an OutOfMemoryError have changed. In addition to the old defaults (first four OOMs create a PHD, javacore, and snapdump), a system dump will be produced on the first OOM: http://publib.boulder.ibm.com/infocenter/wasinfo/v8r0/topic/com.ibm.websphere.base.doc/info/aes/ae/ctrb_java626.html . Some customers have become used to system dumps meaning crashes, so don't be worried. System dumps are a richer and alternative artifact to understand OOMs using the Memory Analyzer... [More]
|
Native (C/C++) Eye-catcher
Someone asked for a quick reference on native eye catchers, and I had a hard time finding a comprehensive reference through the search engines, so here's a quick rundown. Eye-catchers are generally used to aid in tracking down native memory leaks or native OutOfMemoryErrors. After you've checked all the obvious culprits, at some point you may have to manually page through a hexdump. An eye-catcher, as its name suggests, is some sequence of bytes that has a low probability of randomly appearing in memory. If you see one of your eye-catchers,... [More]
|
JVM Late Attach Capabilities
Recent versions of both the IBM and Oracle JVMs support late attach functionality. This allows you to "inject" either a native JVMTI or Java agent into a running JVM which can run arbitrary code without having to restart the JVM. For IBM Java, the versions are Java 5 >= SR10 (disabled by default) [WAS >= 6.1.0.27], Java 6 >= SR6 (enabled by default on non-z/OS platforms) [WAS >= 7.0.0.7], Java 6 R26 [WAS 8], and Java 7. If you're in a really sticky situation where you can't restart a server, but you need to do something to... [More]
|
Linux gcore Timestamp
Update (May 30, 2013) : Note that it is preferable to use IBM Java's capabilities to produce system dumps instead of gcore. See why . The Linux gcore command (also part of gdb) is a very useful command to create a coredump of a running process without killing the process. This is particularly useful starting with WAS 6.1.0.33 and 7.0.0.15 as a core dump can be read directly by the Memory Analyzer Tool, without running jextract, so that core dumps become as easy to use as PHD heapdumps, while providing much more information . usage:... [More]
|
Reparsing heap dump file due to out of date index file
The Memory Analyzer Tool (MAT) creates index files after parsing a dump the first time so that reloading a dump is much faster. These index files are saved to the same directory as the dump file. In fact, you can load a dump on a beefier machine and then copy over the index files to your slower machine and get the benefits of loading a dump faster. One issue I recently hit was that every time I would reload a dump, I would get the message "Reparsing heap dump file due to out of date index file," and the dump would be completely reloaded.... [More]
|