Фон
Поскольку это первый вопрос, который я написал, я постараюсь разбить его как можно лучше, и я прошу прощения за любые неправильные форматы.Я также должен отметить, что я новичок в Linux, Tomcat и Java (все в течение последних нескольких недель), поэтому, если у вас есть ответ, пожалуйста, набросайте его как можно больше.Спасибо!
Этот вопрос на самом деле состоит из нескольких вопросов, но я чувствую, что проблемы как-то связаны, поэтому я включу их все.Что касается моей среды, я использую экземпляр EC2 Amazon Linux.Сведения, возвращаемые с использованием cat /proc/version
:
- версия Linux 2.6.35.14-97.44.amzn1.x86_64 (mockbuild@build-31006.build)
- (версия gcc 4.4.5 20110214(Red Hat 4.4.5-6) (GCC)
java -version
дает мне:
- Java-версия "1.6.0_29" Java (TM) SE Runtime Environment(сборка 1.6.0_29-b11)
- Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 20.4-b02, смешанный режим)
Выпуск (ы)
- Что позволило бы мне иногда останавливать / перезапускать Tomcat, но не другие? После изменения параметров конфигурации и необходимости перезапуска Tomcat я использую
/etc/init.d/tomcat6 restart
или service tomcat6
restart
с различной степенью успеха: иногда приятный зеленыйХорошо, другие - красный СБОЙ. Кажется, что нет никакой причины или причины, почему это работает иногда, а не другие. Когда это не работает, я проверяю статус с помощью service tomcat6 status
, что дает что-то вроде tomcat6 (pid ####) работает . Также стоит отметить, что мой SSH-сеанс Putty замедляется значительно в то же время, чтовсякий раз, когда я не могу остановить Tomcat.Я буквально должен ждать обработки каждого нажатия клавиши! Я не могу использовать какие-либо специфичные для JVM параметры -XX.Каждый раз я получаю сообщение об ошибке Невозможно создать виртуальную машину Java. Из потоков, о которых я читал, большинство проблем с выделением памяти в объемной куче, но я не думаю, что это моя проблема, потому что когда язапустите java
-XX
, который должен дать мне список доступных команд, как и java -X
, я просто получаю:
Нераспознанная опция: -XX Не удалось создать виртуальную машину Java.
Я должен отметить, что у меня было как минимум две версии Java в этой ОС - она шла с Open JDK, но мне требовался Sun Java, так как это было рекомендовано для производительности в Geoserver (который являетсявесь смысл в том, что я все это изучаю).Я прочитал, что наличие двух версий не является проблемой, если мой путь JAVA_HOME указывает на правильный каталог, но возможно ли, что он все же каким-то образом просматривает что-то из исходной конфигурации?Это то, что я подумал, поэтому, чтобы исключить это, я сделал yum remove java
, который стер оригинальную версию (вместе с Tomcat из-за зависимости, но я могу получить ее позже), запустил java -version
, чтобы убедиться, что явсе еще была версия, которую я хотел.Я сделал, затем запустил java -XX
, надеясь, что он волшебным образом исправился после очистки дома с нежелательным удалением OpenJDK, но NOPE, та же ошибка, что и раньше.
Выводы
Теперь я предполагаю, что со старыми путями проблем не было.Я также попытался изменить переменную JAVA_HOME на соответствующий путь ( / usr / java / jre1.6.0_29 ) в каждом возможном месте:
- в bash_profile
- в bashrc
- java.conf
- tomcat6.conf (ну, прежде чем я удалил Tomcat, то есть)
- , вероятно, некоторые другие файлы.Это все размытие на самом деле.
export JAVA_HOME
в оболочке
... все с нулевым воздействием, за исключением использования export JAVA_HOME=/usr/java/jre1.6.0_29
.Каждый раз, когда я запускал echo $JAVA_HOME
, я все равно получал исходный путь JAVA_HOME, который, я уверен, не тот, который я хочу.Даже после сброса переменной (через экспорт в оболочке) я все равно получил ошибку -XX.Я также попытался установить некоторые параметры JAVA_OPTS, особенно для настроек памяти, затем запустил echo $JAVA_OPTS
, который ничего не возвращал.
Я потратил целых два дня на это и собираюсь сдаться.Я действительно хотел бы избежать переустановки и перенастройки целой кучи вещей, если это возможно, не говоря уже о том, что я даже не знаю, решит ли это мою проблему, но мне бы очень хотелось узнать, ПОЧЕМУ у меня возникли эти проблемы ине они связаны, поэтому, если у кого-то из вас есть предложения по этому поводу или что-то в целом, что я делаю неправильно, пожалуйста, дайте мне знать.Спасибо!