The CPU spikes occur because increasing maxEntriesLocalHeap raises memory pressure and makes eviction (LRU management) more expensive. When caches constantly hit their limits, Ehcache must frequently scan and evict entries, causing higher GC activity and CPU usage. Splitting caches adds overhead from multiple eviction threads and metadata management, making the spikes more visible and the application less responsive.