Я запускаю следующую команду в unix-окне.java OutOfMemoryError
ява -Xms3800m -Xmx3800m org.apache.xalan.xslt.Process -out Cust.txt -в test13l.xml -xsl CustDetails.xsl
Это команда Java, которая вызывает процессор Xalan для синтаксического анализа через xml-файл (test131.xml), используя таблицу стилей xsl (CustDetails.xsl) и возвращает Cust.txt.
Команда работает нормально и генерируется выход. Для обработки xml-файла размером 1,1 ГБ требуется 12 минут. Для обработки файла размером 1,44 ГБ требуется 22 минуты. Однако, когда я пытаюсь обработать размер файла 1,66 ГБ, оно ошибки вне с следующим сообщением:
(Местонахождение Неизвестная ошибка) Ошибка XSLT (java.lang.OutOfMemoryError): нулевой
Я увеличил размер кучи java до 3800 не уверен, что я могу сделать больше.
Большое спасибо за помощь.
Настройка параметров Xms и Xmx не может гарантировать, что JVM будет выделять этот объем памяти в кучу. Посмотрите на ссылки ниже http://stackoverflow.com/questions/171205/java-maximum-memory-on-windows-xp http://www.unixville.com/~moazam/ Возможно, вам стоит подумать о других оптимизациях ... например, используя синтаксический анализатор SAX и непосредственно хранить файл. – saugata