[JAVA] How to identify the cause when GC occurs frequently and CPU usage is high

When I developed the screen in Java and tested it, the phenomenon that was initially fast but slowed down occurred. The screen is a process that outputs information that matches the search conditions as EXCEL information. When I checked the status of the server (UNIX) in the slow state, the usage rate of the main process (Java main process) of the AP server was high, and it consumed about 30% even when the screen was not displayed. It is a state. In addition, GC was occurring as it was. After a period of slowness, FULL GC occurred every 3 minutes for 3 days during a holiday when no one was using it, after which the slowdown phenomenon disappeared. (The CPU usage rate is also eliminated) I don't know if it's a phenomenon that occurs after a long period of use, but I'd like to find out the root cause, and I'd appreciate any advice. Java version is 8. I don't know how to investigate, so I would appreciate any advice.

Recommended Posts

How to identify the cause when GC occurs frequently and CPU usage is high
How to set when "The constructor Empty () is not visible" occurs in junit
How to solve the problem when the value is not sent when the form is disabled in rails and sent
[jOOQ] How to CASE WHEN in the WHERE / AND / OR clause
How to identify the path that is easy to make a mistake
How to write the view when Vue is introduced in Rails?
What to do and how to install when an error occurs in DXRuby 1.4.7
[Ruby] How to prevent errors when nil is included in the operation
How to find the tens and ones
[swift] How to control the behavior when the back button of NavigationBar is pressed
[Ruby] Meaning of &. How to avoid the error when the receiver (object) is nil
How to find the cause of the Ruby error
How to delete the database when recreating the application
How to find the total score and average score
How to fix the problem that the upper half is cut off when using UITabBar
When the hover of Eclipse is hard to see
How far is the correct answer to divide the process?
Java memory management and how to read GC Viewer
How to remove Ubuntu when dual booting Windows and Ubuntu
[Ruby] How to get the tens place and the ones place
How to perform a specific process when the back button is pressed in Android Fragment
[Android] How to check if the Google Play developer service is installed when the app is launched
Check how to set the timeout when connecting with Spring + HikariCP + MySQL and executing SQL