There were 3915 files open.
The ulimit on the box is 'unlimited' and this is a pretty serious machine.
To explain a little of what I am doing is I am doing the equivalent of a 'seed' of the DB. So I am running through as quickly as possible and pushing the data into the DB.
I am using the JCache implementation you have so using the 'get', 'putIfAbsent'. So what is confusing to me is why so much file space being consumed when actually a lot of the data is already in the cache. As the seed runs it is checking the cache to see if already present, otherwise call the putIfAbsent and from the final 25Mb you can tell it's not that much data that needs to be written. I am assuming you are using the off heap space to do something.
Question1: If I set the default file size to 100Mb from the 8Mb while doing this, for example. Once the seed process is complete if I stop the application, modify the size back to 8Mb will it re-size the existing files based on the new setting? As I said after I ran the 1st phase of the seed I saw there was 8G of file space being consumed, but when it was finished only 25Mb was used.
Question2: If I adjust the gap % so it is lower than 75%, let's say to 50%, will this cause more files to be open or less? Additionally after the seed and I stop start the app changing the % will the files be re-based. So if it was 50% and changed it to 75%, House Keeping would clean the files up?