Мы имели, это происходит, когда хороший блок памяти в "штатном" поколении "кучи" Java был выгружен к диску, потому что это - мусор и не использовалось в некоторое время. Когда полный набор необходим, та память должна быть загружена назад.
В этом случае Ваш ответ несколько парадоксален: УМЕНЬШИТЕ размер "кучи" Java или выясните то, что другой материал использует RAM, которая вызывает свопинг. В нашем случае некоторые ночные пакетные задания использовали набор RAM, заставляя старое поколение быть выгруженными к диску. Так, затем, первый Полный GC, необходимый следующим утром, взял НАВСЕГДА (180 + секунды, как Вы видите).
Вы могли бы также попробовать коллектор развертки параллельной метки, который уменьшает Целые времена GC путем выполнения большой части работы параллельно. Это - лучшая документация, которую я видел; на предмете существуют также некоторые хорошие блоги Sun: http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
Судя по тому, что вы пишете, я предполагаю, что вы хотите добиться чего-то вроде этого
+---> mail1 <---+
example.com <---> domain.com <---| |--- appserver
+---> mail2 <---+
Домен, на который вы отправляете почту, настроен на почтовом сервере и не определяется записями DNS. Вы должны явно указать почтовый сервер для отправки писем на "@ domain.com"
Для получения писем вам нужны записи MX, подобные этой
domain.com IN MX 10 mail1.domain.com
domain.com IN MX 10 mail2.domain.com
Если вы предпочитаете один сервер, вы можете установить приоритет на этом сервере выше.