This can be achieved either by decreasing the allocation rate in the old generation, or giving the concurrent marking more time to complete.
G1 gives you several options to handle this situation better: A Full GC could occur before all Java heap memory has been exhausted due to the necessity of finding a contiguous set of regions for them.
G1 is designed to provide good overall performance without the need to specify additional options.
If these phases take too long, then consider enabling parallelization of these phases by using the option Young-only and, in general any young collection roughly takes time proportional to the size of the young generation, or more specifically, the number of live objects within the collection set that needs to be copied. This decreases the minimum size of the young generation, allowing for potentially shorter pauses.
Say we have an existing partial snapshot of a network G1. We want to update G1 through a public API, restricted by the number of API calls allowed.
Periodically recrawling every node in the snapshot is prohibitively expensive.
We study the problem of graph tracking with limited information.
In this paper, we focus on updating a social network snapshot.