Выполнение программы на Java (SE) слишком медленно в Debian Wheezy ... мне нужно "настроить" JVM?

862
Barranka

Суперпользователям.

Я написал настольную программу для выполнения процесса моделирования (здесь не стоит копировать код ... это довольно длинная программа). Если я запускаю его на MacBook Pro (Intel Core i7 2,2 ГГц, 4 ГБ ОЗУ), процесс займет около часа. Однако, когда я запускаю точно такую ​​же программу на своем рабочем столе Debian Linux (Intel Core i7, 3,4 ГГц, 8 ГБ ОЗУ, 64-битная версия Wheezy), это занимает до трех часов! Это точно такая же программа! (Кстати, я использую Oracle JDK 8 на обоих компьютерах).

Погуглив, я нашел этот блог, в котором рассказывается, как включить "большие страницы" в Linux ... Я попробовал именно это, но прирост производительности минимален. Прежде чем сделать что-то, о чем я мог бы пожалеть, я хотел бы получить некоторые рекомендации:

  1. Включение «больших страниц» действительно влияет на JVM (в частности, лучше ли работают Java-программы)?
  2. Существуют ли другие варианты «настройки», которые я могу использовать, чтобы ускорить процесс? (Как вы можете видеть выше, это не проблема с аппаратным обеспечением, рабочий стол Debian буквально вылетает, когда я выполняю некоторые другие сложные вещи ... но Java-программы просто перетаскивают ... и я не хотел бы переписывать их на некоторых других язык)

заранее спасибо

1
У вас есть другие задачи с интенсивным использованием процессора, выполняющиеся в фоновом режиме в системе Debian? Wyzard 10 лет назад 0
@ Wyzard Нет (о чем я знаю) ... Загрузка процессора при запуске Java-программы составляет от 3 до 5 процентов. Barranka 10 лет назад 0
Одна вещь, которую вы должны сделать, это запустить программу с помощью команды «time» на обоих компьютерах. Это скажет вам количество фактического времени процессора (в отличие от реального времени), затраченного программой. Проверьте, схожи ли они между двумя компьютерами или намного дольше на Debian. (В частности, посмотрите на числа «user» и «sys», сообщаемые программой «time».) Wyzard 10 лет назад 1
Вы уверены, что в Debian вы вызываете исполняемый файл Sun `java`, а не версию icedtea? LawrenceC 10 лет назад 0
@ultrasawblade Команда, которую я использую: `/usr/local/jdk8.0/bin/java -jar MyProgram.jar` ... так что я уверен, что использую правильную;) Barranka 10 лет назад 0
Вы пробовали Java 7? Java 8 довольно новая, и регрессия немыслима. jjlin 10 лет назад 0

0 ответов на вопрос

Похожие вопросы