У меня была похожая проблема. В результате возникла проблема с автоматической загрузкой кадров ... функция, которую нельзя отключить.
Взгляните на это: Чрезвычайно простой код не работает в HtmlUnit
Это может помочь.
Обновление
Текущая версия HtmlUnit - 2.10. Я начал использовать HtmlUnit с версии 2.8, и каждая новая версия в конечном итоге потребляла больше памяти. Я дошел до того, что загрузка 5 страниц с включенным javascript привела к процессу размером 2 ГБ.
Есть много способов улучшить эту ситуацию с точки зрения javascript. Однако, когда вы не можете изменить javascript (например, если вы сканируете сайт), ваши руки связаны. Отключение javascript - это, конечно, лучший способ. Однако это может привести к тому, что выбранные страницы будут отличаться от ожидаемых.
Мне все же удалось преодолеть эту ситуацию. После многих тестов я заметил, что это не может быть проблемой с HtmlUnit (который я считал виновным с самого начала). Казалось, что это JVM. Переход от Sun JVM к OpenJDK добился цели, и теперь процесс, вместо того, чтобы использовать 2 ГБ памяти, требует только 200 МБ. Я добавляю информацию о версии.
Sun (Oracle) 32-битная JVM:
$java -version
java version "1.6.0.26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)
OpenJDK 32-битная JVM:
$java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze2)
OpenJDK Server VM (build 14.0-b16, mixed mode)
Оперативная система:
$ uname -a
Linux vostro1015 2.6.32-5-686-bigmem #1 SMP Sun May 6 04:39:05 UTC 2012 i686 GNU/Linux
Пожалуйста, поделитесь своим опытом с этим.