The amount of memory allocated for a thread stack is specific to your JVM Version + Operating System. It is configured with the -XX:ThreadStackSize option (-Xss on older versions.) Anecdotally 512KB is "normal", although it is 1024 on 64-bit linux which is probably the platform it's most commonly critical (one guy's opinion anyway)