До касания куча JVM работает медленно - PullRequest
0 голосов
/ 03 апреля 2019

Моя простая программа hello world запускается более 10 минут, когда -XX:+AlwaysPreTouch включен с большой кучей:

$ time java -Xmx1000G -Xms1000G -XX:+AlwaysPreTouch Test
Hello World!

real    10m9.330s
user    1m9.932s
sys 9m8.128s

Это неожиданно, потому что pretouch был распараллелен в Java 9 , и я использую Java 11. Я все еще вижу, что pretouch использует только один поток.

Почему предварительное касание кучи выполняется последовательно, а не параллельно? Нужно ли настраивать дополнительные параметры для включения параллельной предварительной настройки? Я использую 80-ядерный сервер с 2 ТБ памяти.

Java-версия:

$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment (build 11.0.2+9-Debian-3bpo91)
OpenJDK 64-Bit Server VM (build 11.0.2+9-Debian-3bpo91, mixed mode, sharing)

Java-код:

public class Test {
    public static void main(String [] args) {
        System.out.println("Hello World!");
    }
}
...