Чтобы сделать полные GC длиннее (я предполагаю, что вы используете сборщик Parallel Scavenge), я думаю, вы можете попробовать:
Отключить молодые GC перед полными GC (-XX: - ScavengeBeforeFullG C). Делая это, полные сборщики мусора также несут ответственность за сбор молодого поколения и, следовательно, занимают больше времени, чем сбор только старого поколения.
Уменьшите размер молодого поколения (например, -XX: NewRatio или -Xmx). Таким образом, больше объектов войдет в старое поколение, а не умрет в молодом поколении. В результате у полных ГХ будет больше объектов для сбора, и они будут длиннее.
Выделите больше долгоживущих объектов (если вы можете изменить исходный код вашего приложения). Например, попробуйте выделить долгоживущие и большие массивы, поскольку в старом поколении большие массивы будут выделяться непосредственно JVM.