This problem can be avoided by setting -Xms to a value less than half of physical RAM. I realize that there is some performance penalty to each allocation of more RAM above the min heap size value, but once allocated the JVM will not deallocate that heap, so this might only occur a couple of times in the Jenkins service life cycle.