Memory fragmentation

Java memory fragmentation

A few PCs lack enough contiguous memory to start Java with the default memory

If the Java 'PVM' Bundled with Omniscope fails to start...

There is a known, machine-specific Java issue that affects less than 1% of PCs, which start with Java memory so fragmented that the contiguous block required for the Omniscope bundled Java PVM to start is not available. In other words, the 1100 MB default Java memory cap set in Java for Omniscope is too high relative to available contiguous memory on a few (mostly older) PCs, despite the PCs in question having 2 or even 4 GB of RAM memory. This condition is more common under XP but can affect Vista PCs as well. When Java fails to start because of memory fragmentation, the user will typically see messages like:

Error occurred during initialisation of VM

Could not reserve enough space for object heap

Could not create the Java virtual machine.

Why this can affect a machine...

A major reason why this problem occurs is because Windows loads DLLs into the same memory space as the one Java uses which causes memory to become fragmented. Unfortunately optimizations in Windows that minimize the relocation of DLLs during linking make it more likely you'll have a fragmented address space. Other files that are likely to take space include security software, CBT software, spyware and other forms of malware. Likely causes of the variances are different security patches, C runtime versions, etc. 

More information discussing the this problem can be found on the links below: 

Potential Solutions:

There are several possible solutions to resolve this problem:

  1. Try reducing the default memory allocation till Java starts. If we were to reduce the default 1100 MB cap further to allow for such machine-specific conditions, we would be reducing the great majority of Omniscope users' data management capacity for the needs of the very few. If you have a machine with this problem, the current work-around is to manually reduce the specified Omniscope memory cap in stages (reduce to 1000 MB, then reduce to 900 MB, etc.) until Omniscope will starts on the affected PC. In some cases, the memory cap has to be reduced to around 650 MB. The process for changing memory allocation of Omniscope can be found here.

  2. Change to a 64-bit operating system, which will generally resolve not only this issue, but will also provide lots other performance and data set capacity benefits as well, as explained here