I'm afraid as a Linux specialist I'm unable to delve deep into Windows Thread Tuning but my initial perspective is that the JFX Tester must have undergone testing during development for behaviour under high instrument subscriptions and not generated any specific issues using a default vanilla installation of Windows running against the cited minimum hardware profile of
Java 1.6+, CPU 1.5 GHz+ and RAM 1Gb.However, you have already introduced modifications to your installation by setting your heap to 999M. You didn't say
how much physical RAM you have nor your specific
version of Microsoft Windows which are both critical omissions. Also, how many threads are already active when you get this exception? Check the "Threads" tab in the JConsole (
jconsole <java-process-id> if you're on the command line).
Based on my understanding of Windows fundamentals, I'm leaning towards a Java solution to your problem (unlike the suspicions I had in the Linux case) so take a look at the following page and consider the diagram there:
Get started with java JVM memoryAre you starving the
Permanent area by setting a heap that is too big while also demanding a lot of thread/stack resource?
Read the section
And EveryThing Else... closely, especially the part about
Thread Stacks.
The .jnlp file used to start the platform can be used to adjust heap and thread stack sizes, etc but you can begin your investigation by reducing your max heap back down to 512MB (given your 400MB observation cited above) and look for any change in symptoms.
Beyond this refer to this reference
JNLP File Syntax to get up to speed on how to set (reduce) the thread stack size should you find you need to as a last resort.
An
example would look something like this:
<java version="1.6+" initial-heap-size="32m" max-heap-size="512m" java-vm-args="-XX:ThreadStackSize=512"/>Hope this helps.