RFR: 8254699: Suboptimal PreTouchParallelChunkSize defaults and limits [v2]
Amit Pawar
github.com+71302734+amitdpawar at openjdk.java.net
Thu Dec 3 11:39:54 UTC 2020
On Wed, 2 Dec 2020 14:52:04 GMT, Amit Pawar <github.com+71302734+amitdpawar at openjdk.org> wrote:
>> I have not done extensive measurements, I basically ran some startup benchmarks with:
>> -XX:+AlwaysPreTouch -Xms8g -Xmx8g
>> -XX:+AlwaysPreTouch -Xms8g -Xmx8g -XX:PreTouchParallelChunkSize=4m
>> -XX:+AlwaysPreTouch -Xms8g -Xmx8g -XX:PreTouchParallelChunkSize=128m
>>
>> And on Windows going with the current default is the clear winner, while on Linux using 4M gives best results. Given that and your tests I think it is fairly safe to use 4M for Linux, but for the other OSes we need to do more measurements before changing to a different value.
>
> OK and I will make it platform specific as suggested.
>
> Thanks,
> Amit
PreTouchParallelChunkSize is changed to platform-dependent as suggested. Please check now.
To make testing easier created two scripts and attached as zip file [run_pretouch_test.zip](https://github.com/openjdk/jdk/files/5635703/run_pretouch_test.zip).
1. Script "run_pretouch_test.sh" will run pretouch test by configuring **"from space"** to 1MB to 8GB for chunk sizes 64KB to 1GB. Tested only on Linux for both default and large pages.
2. Script "print_timetaken.sh" will collect and print time taken from all the generated GC log files. Time taken will be extracted for only **"from space"** and it will print table similar to shown in Excel file. [PreTouchWithDifferentMemorySize.xlsx](https://github.com/openjdk/jdk/files/5635750/PreTouchWithDifferentMemorySize.xlsx)
3. Should have build using git id "8ef5ed7c64808c6b039baa0751afa7ff017b318d" else it wont work. This particular revision dumps time for PretouchTask.
Thanks,
Amit
-------------
PR: https://git.openjdk.java.net/jdk/pull/1503
More information about the hotspot-dev
mailing list