Сборка мусора - это компромисс между распределением памяти и производительностью. Представь свой чердак. Если вы продолжаете бросать что-то в него, в конце концов, оно наполнится, и вам придется вычистить его. Если у вас небольшой чердак, вы можете заполнять его раз в месяц, но на уборку уйдет всего 20 минут. Если у вас действительно большой чердак, то на его заполнение может уйти год, а на уборку - выходные.
То же самое относится и к JVM. Если вы выделите 6 ГБ, но вы действительно сможете обойтись с 1,5 ГБ, тогда у вас будет гораздо менее частая сборка мусора, но когда они произойдут, это может остановить мир на минуту.
Сколько памяти освобождается сборщиками мусора?
Если мусорщики (копирующие из Eden в Survivor) восстанавливают большую часть памяти, то у вас много очень недолговечных объектов. Если вы увеличите размер New Generation, эти сборки мусора станут менее частыми, но они будут длиться дольше. В идеале вы хотите, чтобы они были как можно более быстрыми, а это означает, что это пространство должно быть достаточно маленьким, чтобы оно могло быстро сместиться, но достаточно большим, чтобы недолговечные объекты не были переведены в штатное поколение. Я бы не стал возиться с размером Нового поколения, если бы не был уверен, что объекты с коротким сроком службы (то есть запрос) хранятся, а их не должно быть.
Сколько памяти освобождается вашей полной сборкой мусора?
Если вам потребуется несколько дней, чтобы заполнить 6 ГБ, учитывая, что в куче накапливаются объекты из каждого пользовательского сеанса и запроса, которые вы когда-либо имели с момента последнего полного GC , я бы подозреваю, что вы освобождаете большую часть своей кучи с помощью полной GC. Если нет, то вам, вероятно, следует выяснить, есть ли у вас утечка памяти (возможно, мошеннический кеш). Если вы освобождаете большую часть кучи с помощью полного GC, вам следует выяснить, имеет ли смысл иметь меньший размер кучи.
Меньшая куча увеличит частоту полных сборок мусора, но сделает паузы значительно короче. В веб-приложении длительные паузы "стоп-мир" для полных сборок мусора недопустимы, если они происходят в пиковый период.
Если, как вы указываете, куча Java потенциально может быть заменена ОС, вам определенно следует обратить внимание на ее уменьшение. Но я бы не стал вмешиваться в размеры нового поколения.