Daily Power Ups

Recent Posts Widget
Showing posts with label tools. Show all posts
Showing posts with label tools. Show all posts

Thursday, December 10, 2015

C# and the virtual memory "(3rd) party" OOM

In my new role I've been working on projects that are coded with C# and I was recently asked to look into an out of memory issue.  Being new to C# and not as attuned to the way in which it handles memory I turned to Google and Stackoverflow for some research.  I found out that C# in many ways is similar to Java in how it handles memory management, however, among the differences there is one big one - the unmanaged memory partition.  The memory isn't truly "unmanaged", it's just not directly managed by the running application and is typically stored in our virtual page space.  A scenario where this comes into play is the utilization of 3rd party COM objects within your program - it is here where our OOM issue begins to take shape.

Friday, July 10, 2015

The Memory Analyzer Toolkit

About the Memory Analyzer

What is the Memory Analyzer?

The Eclipse Memory Analyzer also known as the Memory Analyzer Toolkit (MAT) is a tool that can be used for in-depth Memory Analysis of Java heaps.  The beauty of this tool is the comprehensive views and canned queries that can be used to fully understand what is happening on the heap, which then allows you to better control how you develop with regards toward memory management.  

Sunday, May 31, 2015

Performance Tuning with VisualVM

What is VisualVM

VisualVM is a visual tool integrating several command line JDK tools and lightweight profiling capabilities. Designed for both production and development time use, it further enhances the capability of monitoring and performance analysis for the Java SE platform

Where can I get VisualVM

You can get VisualVM as a stand alone, which is preferred, or use it straight out of the JDK since it has now part of the JDK release as of JDK 1.6.0_07.  The reason I prefer the stand alone release is that VisualVM releases are not in-sync with the JDK so to keep on the latest version without having to wait for the JDK to include it I prefer to have VisualVM as a stand alone application.  You can download VisualVM from:

Tuesday, August 27, 2013

ASM for bytecode analysis

In the not too distant past I was tasked with a project to increase up-time and performance by ensuring that a JVM did not have to be restarted when data was updated in the back-end DB.  As you can imagine this entails several different things, the top most of which is ensuring that all cache's within the Application running on the JVM are refreshed; this includes both managed and unmanaged caches.