Description
If you have a region configured for HeapLRU eviction and are able to put a large number of entries in it before hitting the eviction threshold, then the first evictions will consume much more CPU than subsequent evictions. The reason for this is that the eviction list is not initialized until the first eviction is done. At that time a scan is done of all the existing entries marking each one as not having been recently used. This can touch a large number of memory pages and also hits some common synchronization locks. You can see that this is happening by looking at the HeapLRUStats.lruEvaluations stat.
Attachments
Issue Links
- links to
1.
|
Add system property to opt into new algorithm | Closed | Unassigned | |
2.
|
Performance tests for new eviction code | Closed | Nick Reich | |
3.
|
LRUListWithAsyncSorting has a static thread pool | Closed | Unassigned | |
4.
|
if the experimental eviction code is being used then a log message should say so | Closed | Darrel Schneider |