≡ Menu

Java Heap is a labyrinth. You can spend hours or even days analyzing a heap dump from a production Java application. Heap is where all the objects created by your application live. And even in a relatively simple application, there could be hundreds of thousands of objects created. When dealing with Java memory leak, you know you are looking for one the following (or both):

  1. Excessive number of objects of certain class
  2. Objects with unusually large size

Fortunately, Appdynamics provides a feature using which you can easily reveal both of the above cases. Let’s get right to it.

  • In AppDynamics Controller UI, locate the Node that you want to troubleshoot and click on ‘Memory’ tab

Read More

In this part, let’s explore AppDynamics facilities for diagnosing Memory Leaks. AppDynamics provides two powerful tools to hunt down memory leaks.

  1. Automatic Leak Detection
  2. Objet Instance Tracking

Automatic Leak Detection

With Automatic Leak Detection enabled, Appdyanmics can capture objects that live longer than usual period – i.e long lived Collection objects that simply won’t get garbage collected. If your application is leaking memory, it is definitely one of these long-living, never-dying objects that cause the leak. Use the following procedure to make use of this tool.

Read More

Troubleshooting JVM memory issues can be daunting, but you if you don’t fix it, it can kill your application and possibly your face in front of your customers. There is good news though. With any modern APM tool, you virtually get an X-Ray vision to this labyrinth named Java Heap.

In this blog post, I’ll show you how to use AppDynamics to troubleshoot Java memory issues.

AppDynamics is one of the leading APM vendors in the market, providing tons of useful tools ranging from Hardware monitoring to End user experience monitoring to operational data analytics (Actually it can be quite overwhelming. If you don’t know what exactly you are looking for in the tool, you can go in circles. But don’t worry, I can help).

There are three major areas where AppDynamics can help in regards to Java memory troubleshooting.

Read More

How to install Apache Web Server using Yum?

Software installation has never been more fulfilling since YUM came along.

YUM is the most popular rpm based interactive package manager. It is super powerful and reliable.

In this quick article, I show how to install apache web server, the world’s most popular web server in your Linux Server.

You need to have root access to do this. You also need to have internet access on the server you are installing apache.

Simply run the command

sudo yum install httpd

That’s it. Yum does the rest.

Once done, which takes about 10 seconds, start the httpd server

Sudo service httpd start

Once the service starts, simply use a browser to access the server (use the default server name or the ip address).

Or you can choose the geeky way to use curl to test out. I created a basic html file. Here is how to access it

Curl http://localhost/index.html

You can check access.log to see how you did. Access_log is present under /var/log/httpd/

The configuration file for apache (httpd.conf) will be under /etc/httpd. (This depends on your platform).

That’s it. Your own enterprise grade Web Server, up and running in about 10 seconds.

Way to go YUM !!

Single most important tool to monitor your Web Application

We live in the world of APMs where traffic lights in fancy dashboards show us what’s wrong with our applications in a heartbeat. Definitely a proud achievement (and I highly recommend investing in an APM solution). But at times, you have to get down to very basic, old fashioned troubleshooting. And to be honest with you, it is outright fun.

In this article I want to show you how you can troubleshoot using web server access log. I am going to use Apache 2.X as example web server (Even with Nginx on the rise, apache is still the most popular web server in the world. Sorry IIS).

Before we dive in to the access log, here is a very high level architecture that shows where apache typically sits. For simplicity sake, I have not shown things like DMZ zone, Caching servers, Web Access Firewalls, Reverse proxys etc)

Read More

A Quick overview of AWS

AWS (Amazon Web Services) is a leading Cloud services provider. The product (service) offerings from AWS are enormous. For newbies, it may be difficult to understand what each Service is used for. In this short article I will give you a high level overview of the various AWS Services.

Instead of typing pages of information, I’ve compiled and distilled the core information and presented here in a tabular format. In this way, it can also act as a quick reference.

Read More

Occasionally you will want to know how many lines are there in a file. In unix world, you can use the nifty ‘wc’ command

wc –l < filename>

In Windows Powershell you can use the built in cmdlet named ‘measure-object’. It is pretty powerful.

For counting lines in a file, use the following command

Get-content <filename> | Measure-Object –Line

For example

If you want to learn more about measure-object,

Help Measure-Object –detailed



How to use Sleep in Windows Powershell?

If you come from the unix world, there is a nifty command you can use to ‘sleep’ in shell scripts. What about windows powershell?

You can use the command start-sleep just like you use ‘sleep’ in unix.

You can use either seconds or milliseconds as shown below:


How to print web pages without annoying ads?

I am sure you have gone through this: You see an interesting article in a website and decide to print it to take a closer look. The article itself is about a page or two in length. But what happens when you go to the printer to collect it? That’s right. It prints pages and pages of data, mostly ads and even more annoying – blank pages.

With Chrome, there is a neat feature that lets you avoid those annoying ads and blank lines.

Check this out. Here is a sample page that you see online:

Now when you print this article (either using Ctrl-P or using the chrome menu to choose ‘print’, you will see the following page

Read More

Buckle up! You can get your own AWS server in cloud. You can run a verity of OS on it, connect to any popular Database you want to and even get your hands on some of the coolest products from AWS. I don’t know about you but I’m psyched about all this.


Yes, Amazon Web Services Free Tier allows you to have your own Server in EC2 for 12 months. If you are new to AWS, this is a great way to get your feet wet, or may be drenched.

This article shows exactly how you sign up and crank up your own server in cloud. It takes about 15 to 20 minutes to get your hands on a brand new Amazon Linux instance (or Windows or Suse or RHEL…..)

Without further due, here are the actual steps to follow.

Read More