Найдите команды, с которыми jvm был запущен во время выполнения (1.6.0_12) - PullRequest
1 голос
/ 04 октября 2011

Полная история: Я пытаюсь запустить экземпляр hudson с большим выделением памяти, и в настоящее время я использую скрипты, принадлежащие root, которые я не могу изменить напрямую для передачи аргументов. Однако в настоящее время сценарий передает переменную $ JAVA_ARGS при запуске службы. Я экспортировал необходимые параметры в JAVA_ARGS, но приложение все еще ограничено старыми ограничениями памяти.

Вопрос: Есть ли способ узнать, какие параметры командной строки были использованы для запуска экземпляра. Более конкретно, я ищу, чтобы найти значения, которые были переданы (если таковые имеются) в Xmx и Xms.

java version "1.6.0_12"
Java(TM) SE Runtime Environment (build 1.6.0_12-b04)
Java HotSpot(TM) 64-Bit Server VM (build 11.2-b01, mixed mode)

Ответы [ 2 ]

2 голосов
/ 06 октября 2011

После некоторых поисков я нашел довольно простое решение (которое мне немного стыдно, что я так долго его пропустил).Вы можете видеть командную строку для любой команды, работающей в linux с ps, если вы передаете правильные флаги.Я только что позвонил ps -fHu hudson и смог увидеть полный вызов командной строки java, который показал переданные параметры.

0 голосов
/ 04 октября 2011

Поскольку вы можете экспортировать $ JAVA_ARGS, возможно, вы можете переопределить $ PATH, чтобы обмануть скрипт для запуска другой программы вместо JVM, которая могла бы быть программой, которая просто записывает свои аргументы куда-то.

...