2016-05-20 3 views
0

Я установил jprofiler 9 в Windows 7, я пытаюсь удаленный профиль JVM работать на удаленном Linux в автономном режиме.Jprofiler 9 ошибка сбрасывания segemnetation в автономном режиме

Я добавил аргументы JVM в аргументы JVM следующим образом. и скопировали двоичные файлы и файл config.xml в поле linux.

#Jprofiler Settings 
JAVA_OPTIONS="-agentlib:jprofilerti=port=8849,nowait -Xbootclasspath/a:/home/jprofiler9/bin/agent.jar -agentpath:/home/jprofiler9/bin/linux-x64/libjprofilerti.so=offline,id=108,config=/home/.jprofiler9/config.xml ${JAVA_OPTIONS}" 
export JAVA_OPTIONS 
export LD_LIBRARY_PATH=/home/jprofiler9/bin/linux-x64:$LD_LIBRARY_PATH 

Теперь, когда я запустить сервер я получаю ошибку сегментации и сваливает ядро, из бревна ниже

JProfiler> Protocol version 50 
JProfiler> Using JVMTI 
JProfiler> JVMTI version 1.1 detected. 
JProfiler> Don't wait for frontend to connect. 
JProfiler> 64-bit library 
JProfiler> Starting up without initial configuration. 
JProfiler> Listening on port: 8849. 
JProfiler> Instrumenting native methods. 
JProfiler> Can retransform classes. 
JProfiler> Can retransform any class. 
JProfiler> Native library initialized 
JProfiler> Protocol version 50 
JProfiler> Using JVMTI 
JProfiler> JVMTI version 1.1 detected. 
JProfiler> Offline profiling mode. 
JProfiler> 64-bit library 
JProfiler> Using config file /home/.jprofiler9/config.xml (id: 108) 
JProfiler> Listening on port: 8849. 
JProfiler> Instrumenting native methods. 
JProfiler> Can retransform classes. 
JProfiler> Can retransform any class. 
JProfiler> Native library initialized 
JProfiler> VM initialized 
JProfiler> Using sampling (1 ms) 
JProfiler> Time measurement: elapsed time 
**JProfiler> CPU profiling enabled** 
JProfiler> VM initialized 
JProfiler> Using sampling (1 ms) 
JProfiler> Time measurement: elapsed time 
JProfiler> CPU profiling enabled 
<PATH>/startWebLogic.sh: line 192: 3372 Segmentation fault  (core dumped) ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WLS_POLICY_FILE} ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS} 
Stopping Derby server... 

1) В режиме реального времени с помощью графического интерфейса, запускается сервер и я могу взять профили. Однако во время запуска сервера я отсоединяю Jprofiler от сервера, и как только сервер запустится, я снова присоединяюсь и беру профили. Итак, в автономном режиме есть функция отсоединения и присоединения?

Примечание сервер начиная размер кучи 8GB

2), так что в автономном режиме является сервер на самом деле пытается захватить профиль процессора, потому что в журналах он говорит «JProfiler> CPU профилирование включено». это может быть причиной, почему запуск сервера происходит сбой с ошибкой сегментации

Благодаря

+0

Есть ли файл hserr_pid ... в рабочем каталоге профилированной JVM? –

+0

no thee не является файлом hserr_pid, gdb основного дампа показывает это. это происходит при запуске сервера 'Core был создан/home/jdk/bin/java -server -Xms768m -Xmx1536m -XX: PermSize = 256m -XX: M '. Программа завершена сигналом 11, Ошибка сегментации. # 0 0x00007f4d7ed8a9f0 in ??() "/home/core.PID" является основным файлом. Пожалуйста, укажите исполняемый файл для отладки. (gdb) bt # 0 0x00007f4d7ed8a9f0 in ??() # 1 0x00007f4d7ed8aa1b in ??() # 2 0x0000000000000000 in ??() (gdb) ' – Pradeep

ответ

0

заряжаются родную библиотеку агента дважды. Это означает, что вы передаете два параметра -agentlib: jprofilerti или другой параметр -agentpath, который загружает библиотеку агентов.