Solved

Issue with Java Application performance on iSeries

Posted on 2008-10-09
9
415 Views
Last Modified: 2013-11-23
I have a java application that run continuously in batch on an iSeries.  The application monitors a database and creates an XML document for the data in the database.  This application is hogging the cpu.  I need some advice on what I can do so the application isn't using as much CPU.  I have run the CRTJVAPGM over all class and jar files in the application's folder, setting the optimization to 30.  What else can be done?  

Thanks  
0
Comment
Question by:DebeG
  • 5
  • 2
9 Comments
 
LVL 16

Expert Comment

by:Bryan Butler
ID: 22806073
There are many things that could help.  If you are sure it is the application, then I'm betting you have an I/O issue.  Are you creating these xml files in the most efficient way?  Also, if there's any logging turned on, then that's more IO.  
0
 
LVL 16

Expert Comment

by:Bryan Butler
ID: 22806076
There are also static and dynamic code analyzers that might do the trick.
0
 

Author Comment

by:DebeG
ID: 22812051
We do have logging turned on, but it is set to INFO.  The program runs multi threads.  I am not sure the issue is the application.  What about garbage collection?  When I submit the job that runs the java program, I just leave the garbage collection set to the defaults.  Would tweaking this value affect CPU usage?   Can you tell me more about static and dynamic code analyzers?

Thanks
0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 
LVL 16

Accepted Solution

by:
Bryan Butler earned 500 total points
ID: 22818357
Well, I doubt garbage collection would cause the problem, but you can tweak it and maybe help some.  There is probably more than one issue, so tweak away.  If you're positive it's not I/O, which I guess you would know if you are creating a ton of logs, or something to that effect, then some analyzing sounds like the next step.  Although if you can turn all logging off, then I'd try it just to see the effect.  As far as anylyzers, the best is going to be an expert pair of eyes.  Many times they will be able to figure out what parts of code are the hogs.  Static anlyzers are not much on performance, but it couldn't hurt.  They basically look at the code and find as many issue as they can w/o running it. A dynamic anlyzer runs the software and would be the performance tool for this case.  They can check all the various things going on behind the seens and let you know where your issue is.  I worked support for a company that had a cool tool to do this.  It was called Identify and is now part of BMC.  It was only java as far as app servers, though, so it wouldn't be good in your case (or are you using app servers?).   I'll try to find some if you'd like.  A search for -  java "performance tools" analyzers OR analyze - found a Java Performance Tuning website and many others that look promising.
0
 
LVL 16

Expert Comment

by:Bryan Butler
ID: 22818376
Or an even better search for "java performance analyzers iseries" turned up a good IBM web site:

http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/rzamy/50/admin/prfref.htm
0
 

Author Comment

by:DebeG
ID: 22843277
Thanks for that info, i will look into that website.  And that is a good idea to turn off the logging to see what kind of affect that has on performance.  I will try that this afternoon too.
0
 
LVL 16

Expert Comment

by:Bryan Butler
ID: 22846257
Great. Please let us know how it goes.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
scoreUp challenge 14 48
What is the latest versions eclipse neon 2 122
Java Jpanels and Jframe 8 21
Java Timer (static) 9 19
An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
Viewers learn about the “while” loop and how to utilize it correctly in Java. Additionally, viewers begin exploring how to include conditional statements within a while loop and avoid an endless loop. Define While Loop: Basic Example: Explanatio…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now