cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6674
Views
1
Helpful
5
Replies

java.lang.OutOfMemoryError: Java heap space

Santhosh
Cisco Employee
Cisco Employee

I checked the logs when I got an error to add a device in ncs and do sync from.. Please help out to fix this issue..

 

 

Thanks

Santhosh 

1 Accepted Solution
5 Replies 5

Santhosh
Cisco Employee
Cisco Employee

This worked when I tried with other device.. Thanks

 

joepak
Cisco Employee
Cisco Employee

Hi,

 

Take a look at the following info from an SR I closed not too long ago. NSO is recommended to use at least 2 Gigs of java-vm memory.

 


go to /bin/ directory of NCS_DIR and edit 'ncs-start-with-java' and edit: NCS_JAVA_VM_OPTIONS with "-Xmx2g" or any other desired amount of memory. Another option is to: export _JAVA_OPTIONS="-Xmx1024m" (with any desired amount of memory) to change the OS lvl vm memory.

markvanber
Level 1
Level 1

Usually, this error is thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector.

 

Therefore you pretty much have two options:

 

  • Increase the default memory your program is allowed to use using the -Xmx option (for instance for 1024 MB: -Xmx1024m)
  • Modify your program so that it needs less memory, using less big data structures and getting rid of objects that are not any more used at some point in your program

Increasing the heap sizeis a bad solution, 100% temporary. It will crash again in somewhere else. To avoid these issues, write high performance code:

 

  • Use local variables wherever possible.
  • Make sure you select the correct object (EX: Selection between String, StringBuffer and StringBuilder)
  • Use a good code system for your program(EX: Using static variables VS non static variables)
  • Other stuff which could work on your code.
  • Try to move with Multy Threading

sreepathy
Level 1
Level 1

“Java Heap Space” error will be caused by insufficient Java heap memory allocation.  The java.lang.OutOfMemoryError: Java heap space error that you are facing actually indicates that your JVM is running out of memory to allocate for objects in the heap. Even though you've allocated some GB to the container, there could be a possibility that the actual Java heap size being used by the Metabase JVM is much lower. This is because, always, JVM by default does not utilize the full container memory unless we instruct to. 

While performing the requested operation that is adding a device and performing a sync in NCS, this issue has happened. This happens when the application tries to process more data than the allocated heap memory can handle. In order to overcome this, you can increase the heap size by adjusting the JVM options. This will help with allocating more memory to the application.  In such cases, reviewing the logs or analyzing a heap dump using a tool like GCeasy or Eclipse MAT can help identify which objects are consuming excessive memory. If you are interested in learning about the  types of OutOfMemoryError, you can check out this blog: Types of OutOfMemoryError, Causes, and Solutions.

Polls
AI-powered tools for network troubleshooting are likely to be part of everyone’s workflow sooner or later. What is the single biggest challenge or concern you see with adopting these tools in your organization?