If the command is passed, it is generally called JPS to view the specific PID, then call Jstat to see the runtime memory, and the frequency of the GC, and then through Jstack to see if the thread is blocking, deadlock, looping, and so on, finally through Jmap generated heap snapshot to analyze memory overflow.
With Visual Tools:
In the case of jconsole, you can view the heap and the memory of each part through the memory window, and through the thread window you can see if the thread waits, loops, deadlocks, and so on.
is where the same VISUALVM can navigate to a specific memory overflow. Through the VISUALVM can observe the heap, the new generation, the old age, the permanent generation of the situation, also through the thread to see if there are blocking, looping, deadlock and so on. If there is a memory overflow situation, the first is to click on the heap snapshot in the Monitoring window, generate a snapshot, then analyze the heap snapshot, by analyzing the thread on the heap dump, navigate to the specific execution of the thread, and then you can specifically analyze the number of instances in the thread and size, and can be located in the program specific line of code, The code context is specifically written incorrectly.
What tools to use to view memory overflow, with specific examples to explain the specific process