Many server owners come to ask the question, why is my server using soo much ram? Why is my server laggy since the <insert version here> update? Well there is an easy way to inspect the insides of your server yourself. I point you here to the VisualVM tool. The following thread will be a screenshot laden tutorial on how to use VisualVM to gain an inside view of your server and an edge over the competition. Step 1: Download VisualVM from here. It will work on any system with java that has a gui. Step 2: Extract it to a folder of your choice. Step 3: Prepare your server to be introspected by VisualVM, you can do this by adding the following to your server startup script: -Dcom.sun.management.jmxremote Now is also a good time to take a look at all those fancy flags people have encouraged you to put in that script. Be warned many of them lead to increased crashes, memory consumption or other nasty effects. Should experimental weapons really be used on your server? How this for simple: Step 4: Start up your server and VisualVM (find it in the bin/ folder), you will be greeted with a screen like so: Step 5: Take a look at what you see. I currently have four java applications running on my computer, Netbeans, my Minecraft launcher, my server and of course VisualVM. Step 6: Double click on the CraftBukkit entry, you will be greeted with a screen like below. This is the main control panel for all the options you may perform on your Java VM. I will be going through all of them over the next few posts. Getting to know your way around VisualVM: The main feature of VisualVM that we will be using to sample our server is the heap dump. Those of you who develop a lot of plugins will be familiar of the debug function provided by your idea (<3 Netbeans) a heap dump is sort of like this in the sense that it displays the values of variables and classes, but it is very broad in the sense that it dumps the ENTIRE application heap for your inspection. As we can see from the monitor tab, various metrics about the performance of CraftBukkit are shown, namely CPU, memory, the number of classes loaded and threads active. We are interested in the Heap Dump button, present in the top right corner. Click this button and you will be presented with a new tab, the heap dump you just took. Now from this view, there is only one tab that we need access to one tab, the Classes one, click this and you are presented with a myriad of complicated strings. Advanced use of VisualVM: EDIT by Moderator: merged posts, please use the edit button instead of double posting.