Why Cannot It Allocate an Object As Large As X Mb?
(Doc ID 1565851.1)
Last updated on OCTOBER 11, 2018
Applies to:Oracle JRockit - Version R27.5 and later
Information in this document applies to any platform.
Question 1: Is it possible the compaction is not able to clear up enough space (whether because it does not have enough time or because it cannot move the objects) to create a large enough contiguous chunk of memory for a large allocation?
Question 2: Is there a way to verify this through the oomdiag or hprof? That is, is there a way to identify which objects where pinned and at what address, and see that they are spread out in such a manner that prevents a large chunk of memory to be allocated?
Question 3: Also, if this is our issue, is there a way to limit where pinned objects get allocated? Is it possible to keep them within a 20-25% block of the heap, so that the remaining heap can be compacted at will? If not, what other options do we have for avoiding these problems? Obviously trying to avoid massive objects would help, but is there anything else that can be done? Is there a setting to split large objects into smaller chunks (without much performance impact)? Or are we just stuck with hoping for the best?
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document