При использовании калипера я получаю
ERROR: GC occurred during timing.
так как в моем тесте создается некоторый мусор, которого я не могу избежать. Я предполагаю, что выделение большего объема памяти для целевой JVM может помочь, так как мусора не так уж много. Я знаю о вариантах -D
и -J
, но у меня почему-то не работает.
Во-первых, я вижу в этом вопросе, что несколько аргументов переданные через Jmemory=-Xmx512M,-Xmx16M
, используются отдельно, т. е. каждый аргумент, разделенный запятыми, приводит к новому запуску. Но я хотел бы передать несколько аргументов, которые будут использоваться вместе, например, -Xmx16G -XX:NewSize=12G
, чтобы GC максимально откладывался (и на самом деле вообще не наступал, поскольку прогон тем временем заканчивается). Как мне это сделать?
Во-вторых, каковы наилучшие аргументы, максимально откладывающие GC? Я имею в виду, дать JVM много памяти (-Xmx
), использовать ее всю для Эдема и не заботиться о том, насколько она заполнена.