cancel
Showing results for 
Search instead for 
Did you mean: 

java.lang.OutOfMemoryError

java.lang.OutOfMemoryError

Bernd_Gruetzke
New Contributor III
Hello,

I get the ERROR "java.lang.OutOfMemoryError" and I found only the description from 2015, is it valid again.
Because my nsserver.cfg is like this:

-Xms12g -Xmx18g -XX:MetaspaceSize=128m -Djava.awt.headless=true -XX:HeapDumpPath=../../nsdump.hprof -XX:+HeapDumpOnOutOfMemoryError

Regards
Bernd
1 ACCEPTED SOLUTION

jefryarch
New Contributor

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 size is 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

 

View solution in original post

4 REPLIES 4

jefryarch
New Contributor

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 size is 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

 

Ryan_Yacobucci
Extreme Employee
Hello,

Make sure that your memory settings following the guidelines defined here if running 8.x:

https://gtacknowledge.extremenetworks.com/articles/Solution/EMC-memory-settings

Thanks
-Ryan

Bernd_Gruetzke
New Contributor III
Hi Dilraj

thanks for your prompt replay, I will change my configuration and check the logfile.

Bernd

Dilraj_Singh_Kh
Extreme Employee
Hi,

Check below KBs:

https://gtacknowledge.extremenetworks.com/articles/Solution/NetSight-Server-process-crash-with-java-lang-OutOfMemoryError

https://gtacknowledge.extremenetworks.com/articles/Solution/NetSight-server-crashing-with-java-lang-OutOfMemoryError-PermGen-space

https://gtacknowledge.extremenetworks.com/articles/Solution/The-NetSight-Server-is-running-low-on-heap-memory-90-used

DILRAJ
GTM-P2G8KFN