Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Use OptimizeIt for ...

 
Steve Wong
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I use OptimizeIt just when I find clear memory leak.
Unclear memory leak or a minor code tuning for performance like replacing String by StringBuffer is not easily reflected in OptimizeIt. Do you agree?
When will you all use OptimizeIt then?
Also, I find that simultaneous tomcat requests on JSP increases memory usage a lot more than what your codes can be tuned.
 
Mark Herschberg
Sheriff
Posts: 6037
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I disagree. If you use it the right way, and the issue is big enough, you can find it. Maybe not in a single case, but if it's in highly used code, the difference will show if looked at correctly.
The trickiest part of the tool is using it the first few times, seeing thousands of objects and not knowing if its too many. :-)
--Mark
 
Steve Wong
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And I am performance tuning a web application. The memory used by tomcat(e.g. Handling the server thread) is always a lot more than what my code does. So, it is further difficult for me to spot if there's memory problem.
 
Jack Shirazi
Author
Ranch Hand
Posts: 96
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
OptimizeIt! is a full featured profiler, and you can use it to find unintentionally retained objects (memory leaks), objects created too often, and execution bottlenecks.
It can take a little while to get used to using a profiler. You might want to run through the tutorial that comes with it (at least it used to have a tutorial accessible from the help option)
--Jack Shirazi
JavaPerformanceTuning.com
 
Steve Wong
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And I have used ab to concurrently retrieve a static page or dynamic blank page from tomcat. The memory used shown by the top utility increases a lot. The memory graph in OptimizeIt changes a lot and GC activity graph shows much activities. Because of the GC activity, the CPU time shown by the top utility is at a high value.
I can't notice that tomcat is so bad compared to other application servers. Is that the only way to get around it is using another application servers?
 
Jack Shirazi
Author
Ranch Hand
Posts: 96
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You may need to analyze the GC statistics, generated using -verbosegc or -Xloggc
--Jack Shirazi
JavaPerformanceTuning.com
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic