• Главная
  • Карта сайта
Не найдено

Використання BEA WebLogic JRockit TM з NetBeans 4.0

  1. основи
  2. Завантаження
  3. установка
  4. Робота NetBeans сJRockit
  5. Використання
  6. Додаткові можливості користування
  7. JRockit Runtime Analyzer
  8. проблеми
  9. На закінчення

Постійні користувачі середовища IDE NetBeans будуть час від часу стикатися з тим, що сканування шляху до класів займає несподівано багато часу. Вони також можуть виявити, що для роботи з NetBeans потрібна велика кількість ресурсів, особливо на застарілих комп'ютерах. У таких випадках можна знайти способи прискорення роботи середовища IDE. Але як це зробити? У даній статті описана одна з можливостей - використання іншої віртуальної машини Java.

Основні переваги використання JRockit полягають в підвищеній продуктивності на платформах Intel і постачання в комплекті з продуктами для профілювання і управління, наприклад консоллю, яка буде описана в статті, і JRockit Runtime Analyzer.

У даній статті описується використання віртуальної машини Java BEA WebLogic JRockit ( "JRockit") в якості середовища IDE NetBeans.

Віртуальна машина JRockit вільно завантажується і може використовуватися в цілях виробництва або розробки в разі згоди з ліцензійною угодою для кінцевого користувача, доступним тут .

Дана стаття містить наступні розділи:

основи


Вступ

Навіщо потрібна ще одна віртуальна машина Java?
Відповісти на це питання непросто, оскільки віртуальна машина Java, безумовно, потрібна не всім. Відразу визначимо: дана стаття буде цікава тільки розробникам додатків Java і веб-додатків на основі Java. Також в ній знайдуть корисну інформацію адміністратори та оператори інтенсивно відвідуваних веб-сайтів.

Розробники, які коли-небудь намагалися використовувати профілювання віртуальної машини Java або розібратися в тому, що насправді відбувається у віртуальній машині, коли програма вже виконується, могли зіткнутися з тим, що доступні дані про віртуальній машині були досить мізерними. Щоб проаналізувати дані, вироблені нею, потрібно багато зусиль. (Наприклад, при включенні параметра -Xprof віртуальної машини Java до 1.4.x або -agentlib: hprof віртуальної машини Java 5.0)

Деякі дані виявлялися недоступними навіть в разі використання профілювання. Одним з рішень цієї проблеми може бути написання власного агента профілювання. Java забезпечує детальний доступ до даних віртуальної машини через Java Virtual Machine Profiler Interface (JVMPI). Однак це означає необхідність реалізації власного профілювання. Тому, наскільки відомо автору, в Java відсутня стандартний спосіб для доступу низькорівневим даними профілювання.

У разі використання JRockit про це не доведеться турбуватися. З JRockit поставляється так звана консоль, що забезпечує прямий доступ до важливих даних додатків, що виконуються на віртуальній машині. Оцінюючи час виконання окремих методів, вона забезпечує огляд найбільш використовуваних класів і визначає кількість нових винятків.

Ця віртуальна машина призначена тільки для налагодження?
Безумовно ні. JRockit розроблена і оптимізована для платформ Intel з метою досягнення максимальної продуктивності і надійності. Вона служить в якості віртуальної машини Java для BEA WebLogic Server.

Дана стаття не є презентацією по продукту BEA - повну інформацію про JRockit і / або WebLogic Server можна отримати за засланні -.

Як використовувати цю віртуальну машину?
Існує два основні шляхи. Після установки пакета JDK JRockit можна розробляти і виконувати програми Java, не звертаючи уваги на те, що використовується інша віртуальна машина Java, за винятком значного підвищення продуктивності деяких з додатків. Звичайно, швидше починають працювати тільки дійсно працюючі додатки. Тому JRockit не має ніякого відношення до магії! ;-)

  1. Перше ключова перевага консолі JRockit, яке відзначають розробники, - доступ до якісної докладної інформації, зібраної за допомогою віртуальної машини Java. Використання та налаштування можливостей консолі для програми будуть розглянуті в одному з наступних розділів.
  2. Ще однією перевагою є використання для збору інформації в процесі виконання JRockit Runtime Analyzer (JRA). У разі використання JRockit в робочому середовищі можна отримувати доступ до необхідної інформації в процесі виконання без перезапуску програми. Зокрема, це дуже важливо в веб-середовищі, де неможливо просто перезапустити повнофункціональну версію сервера.

Завантаження

Завантажити середу JRockit можна на веб-сайті BEA Systems, Inc. за адресою http://www.bea.com або по прямій засланні для доступу до сторінки завантаження.

JRA завантажується окремо на сторінці http://www.bea.com/framework.jsp .

Також може бути цікава документація по JRA і JRockit, доступна по посиланню http://edocs.bea.com/jrockit/webdocs/index.html .

установка

Після завантаження потрібно встановити JRE і / або JDK.

Після цього виклик java -version видасть наступні результати: java version "1.5.0" Java (TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64) BEA WebLogic JRockit (R) (build dra-38972-20041208-2001 -win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar)) Будь-які подальші дії не потрібні.

У разі одночасного використання різних JDK від різних постачальників рекомендується створювати пакетні файли, що дозволяють встановити відповідний пакет JDK.

Робота NetBeans сJRockit


Налаштування

Точкою входу для настройки є etc /. netbeans.conf Цей файл доступний в каталозі установки NetBeans. У ньому потрібно змінити рядки: # default location of J2SE JDK, can be overridden by using --jdkhome dir switch netbeans_jdkhome = "C: \ Programme \ Java \ jdk1.5.0" на # default location of J2SE JDK, can be overridden by using --jdkhome dir switch # netbeans_jdkhome = "C: \ Programme \ Java \ jdk1.5.0" netbeans_jdkhome = "C: \ Programme \ Java \ jrockit-jdk1.5.0" Може знадобитися коригування шляхів для правильного налаштування каталогів установки пакета JDK. У разі їх зміни переконайтеся в тому, що перемикач --jdkhome не використовується.

Для забезпечення доступу до консолі віртуальну машину Java необхідно запустити з командного рядка -Xmanagement. Її також можна додати в файл etc / netbeans.conf в рядок

netbeans_default_options = "- J-Xms32m -J-Xmx250m -J-Xverify: none -J-Xmanagement" для самозапуска NetBeans з можливістю управління. Це дає можливість аналізувати віртуальну машину Java NetBeans, "збирач сміття" і переглядати докладні результати програмування для середовища IDE.

На цьому настройка завершена. З цього моменту починається використання JRockit в якості віртуальної машини Java для NetBeans.

Після перезапуску NetBeans в розділі докладних даних по шляху "Довідка -> Про програму" екран, який виглядає наступним чином:

Оскільки тимчасова мітка файлу src.zip JRockit може відрізнятися від встановленого пакета JDK, NetBeans може знадобитися повторити його сканування. Але воно виконується тільки один раз.

Використання

Існує ряд додаткових параметрів, які можуть використовуватися для настройки JRockit. Доступний їх широкий список, але докладний опис можна отримати за адресою hhttp: //e-docs.bea.com/jrockit/jrdocs/refman/index.html . -Xgcprio: [throughput | pausetime] sets prio for the gc-system throughput optimizes the gc-behavior to achieve optimal throughput (initially starts off with single-spaced parallel GC mode but may switch to other GC modes dynamically during runtime) pausetime optimizes the gc-behavior to achieve minimal pause times (initially starts off with single-spaced concurrent GC mode but may switch to other GC modes dynamically during runtime) -Xcleartype: [alloc | gc | local] defines which type of clearing should be performed alloc starts at allocation time (default) gc starts when the gc is running local starts when you get to a local area -Xgc: [singlecon | gencon | parallel] used to set a static garbage collector will override the options -Xgcprio, -server, and -client singlecon use the single-spaced concurrent garbage collector algorithm (default in client mode) gencon use the generational concurrent garbage collector algorithm parallel use the single-spaced parallel garbage collector algorithm (default in server mode) -Xms <size> [g | G | m | M | k | K] sets the initial Java heap size (ms) server mode: the default value is 25% of the amount of free physical memory in the system up to 64 MB with a minimum of 8 MB (default) client mode: the default value is 25% of the amount of free physical memory in the system up to 16 MB with a minimum of 8 MB -Xmx <size> [g | G | m | M | k | K] sets the maximum Java heap size (mx) server mode: the default value is the smallest of 75% of physical memory and 1536 MB (default) client mode: the default value is the smallest of 75% of physical memory and 64 MB -Xns <size> [g | G | m | M | k | K] sets the initial Java nursery size for generational collectors server mode: the default value is 10 MB per (default) client mode : the default value is 2 MB -Xss <size> [g | G | m | M | k | K] set initial stack size -Xpausetarget = <optimal_pause_time> [ms | s] JRockit will optimize the pause time to the given target , uses -Xgcprio: pausetime ms pause time specified in milliseconds (default) s pause time specified i n seconds -Xnoclassgc disable class garbage collection -Xgcpause print pause times caused by the garbage collector -Xgcreport write extensive memory report at end of run -Xdebug enables debugging support in the VM -Xjvmpi: [<argument1> = <value1> [, < argumentN> = <valueN>]] enable / disable groups of jvmpi events when running jvmpi entryexit (default on) allocs (default on) monitors (default on) arenadelete (default off) -Xmanagement enable the management server needed by the JRockit Console - Xnoopt do not optimize code -Xstrictfp always use strict floating point calculations -Xnohup used to not process CTRL_LOGOFF_EVENT or SIGHUP events -Xrun <library> loads and runs a library -Xverbose [: memory | codegen | load] enable verbose output -Xverboselog: < file> log verbose output to a file -Xverbosetimestamp adds a timestampt to the verbose printout -Xverify do full bytecode verification

Додаткові можливості користування


консоль

Консоль є вкрай важливим елементом процесу вилучення інформації. Але при першому її запуску на екрані нічого не відображається. В цьому випадку необхідно підключитися до примірника JRockit. Стандартним портом для підключення є 7091, який також за замовчуванням є портом управління для віддаленого адміністрування JVM.

Примітка. У разі запуску програми з JRockit в режимі -Xmanagement з'явиться можливість підключення за допомогою JConsole Sun до віртуальної машини Java і управління всіма Management Beans (MXBeans). Це також дуже зручно. Однак слід враховувати, що JConsole Sun не є консоллю JRockit: це два різних інструменту!

Отже, створюється нове підключення шляхом натискання кнопки або вибору меню "Нове підключення ...". З'явиться діалогове вікно, в якому можна вводити необхідні дані:

Як видно на цьому прикладі, це також можна виконати віддалено. На комп'ютері адміністратора для моніторингу серверів веб-додатків, що працюють на JRockit на іншому сервері в мережі можлива віддалена робота, якщо брандмауер не обмежує доступ до портів.

Якщо з'єднання вдалося встановити, це означає, що консоль вже збирає дані. У розділі "Огляд" з'явиться таке зображення:

У розділі Огляд з'явиться таке зображення:

Дуже цікавим з точки зору розробників, особливо для тих, хто безпосередньо працює над платформою NetBeans, являтся профілювальник методів. Він підраховує виклики певних методів і фіксує час виконання.

Він підраховує виклики певних методів і фіксує час виконання

Сеанси профілювання організовуються відповідно до шаблонами, яким присвоюються імена. В кожному шаблоні можна визначити конкретні об'єкти для відстеження. У діалоговому вікні, яке з'являється після натискання кнопки "Додати", досить вказати повне ім'я класу для відстеження. На другому кроці необхідно вибрати один з методів для відстеження зі списку. Слід враховувати, що відстеження абстрактних або власних методів не підтримується. Після цього натисніть кнопку "Пуск" і оціните збільшення продуктивності. Тепер стає очевидно, на що витрачалася значна частина часу виконання.

На вкладці "Пам'ять" консолі JRockit можна здійснювати управління пам'яттю, яку використовує процес JRockit зараз. Можна заблокувати розмір "купи" або змінювати її розмір в процесі виконання. Ця функція також зручна, якщо перезапуск програми користувачем утруднений.

На вкладці "Система" доступна інформація про середовище використовуваної віртуальної машини Java. У цій функції дуже зручна можливість прив'язки процесів віртуальної машини до певних процесорам на багатопроцесорної платформі. Якщо, звичайно, така платформа використовується.

Вкладка "Повідомлення" може бути інформативна тільки в разі відстеження високодоступних платформи і необхідності автоматичного інформування у випадках, коли розмір "купи" досягає певного значення, навантаження на ЦП перевищує 90% і т.п. Для таких подій на цій вкладці можна визначити прослуховувачі і вказати необхідні в кожному випадку дії. Зазвичай адміністратору по збоїв висилається повідомлення по електронній пошті.

Остання вкладка - "Лічильник винятків". У разі введення імені класу винятків підраховуються всі виключення цього типу. Така функція може бути зручна при наявності певних виключень, умови виникнення яких точно відомі. Підрахунок високорівневих винятків може бути складним завданням, але він не завжди дозволяє отримати цінну інформацію.

Підрахунок високорівневих винятків може бути складним завданням, але він не завжди дозволяє отримати цінну інформацію

JRockit Runtime Analyzer

JRockit Runtime Analyzer призначений для тих користувачів, хто не може перезапустити сервер для налагодження або аналізу середовища виконання. Наприклад, це адміністратори цілодобово функціонують веб-сайтів. Оскільки рішення цього завдання лише частково зачіпає розробників NetBeans, JRockit Runtime Analyzer розглядається в даній статті в загальних рисах.

Цей інструмент призначений для збору даних починаючи з певного часу і протягом зазначеного періоду часу. Перед цим і після цього віртуальна машина Java працює в стандартному режимі. Тому зниження продуктивності через розширення функціональності віртуальної машини не повинно бути причиною для занепокоєння. JRockit Runtime Analyzer інтегрується настільки глибоко, що виявити відмінності в процесі його виконання від звичайного виконання неможливо.

В результаті профілювання на комп'ютері, де працює віртуальна машина Java, створюється файл XML. Потім засіб JRA налаштовується для автономного аналізу зібраних даних.

Процес збору даних починається з суми "JraRecordingStarter.jar", що запускається з командного рядка і вимагає вказівки аргументів. Простий виклик може виглядати наступним чином:

java -jar JraRecordingStarter.jar localhost 7091 myrecord.xml 300 В ньому вказуються цільової вузол, на якому функціонує віртуальна машина Java, порт управління, ім'я створеного файлу XML і час запису в секундах.

Після повного збереження на диску створений файл XML архівується.

Далі можна використовувати Runtime Analyzer для аналізу отриманих результатів:

Також можливі доступ до результатів "збірки сміття" під час запису і їх вимір. Зверніть увагу на те, що в даному прикладі використовувався дуже нетривалий період часу з невеликим обсягом даних для збору. У реальному сценарії може бути значно більший обсяг інформації.

проблеми

В даний час існує проблема, пов'язана з JRockit 5.0. В поле "Стан NetBeans" відображається повідомлення про помилку:

Це пов'язано з перевизначенням локального методу фінального пакета в іншому пакеті. Помилка присутній в поточному випуску JRockit. Передбачається, що в наступному випуску заплатки вона буде усунена. В цьому випадку можна тільки дочекатися нового випуску або проігнорувати цю помилку. Розробники можуть вибрати, що для них більш зручно.

На жаль, дана помилка впливає на роботу з NetBeans. Вихідні файли Java на панелі "Вид проекту" можуть виявитися недоступними. Однак до них можна перейти через подання файлів. Але це досить трудомісткий процес. Хороші новини: розробники повідомили про цю помилку в BEA, і на форумі розробників стало відомо, що ця помилка повинна бути виправлена ​​в наступному випуску заплатки.

Автор рекомендує дочекатися наступного випуску заплатки JRockit.

На закінчення

JRockit - це високопродуктивна віртуальна машина Java, досить ефективно працює з NetBeans. Вона демонструє виключно високу швидкість при скануванні шляху до класів. Також явною перевагою її використання є скорочення часу запуску NetBeans.

Хтось може заперечити, що в розробникам в дійсності не потрібно міняти віртуальні машини Java, проте так звані "перші користувачі" цілком можуть оцінити її можливості. Вони особливо зручні в тому випадку, якщо NetBeans використовується щодня.


Торгові марки

BEA і WebLogic є зареєстрованими торговими марками BEA Systems, Inc.BEA WebLogic Platform, BEA WebLogic Server є торговими марками BEA Systems, Inc.
Всі інші товарні знаки є власністю відповідних компаній.

Але як це зробити?
Ця віртуальна машина призначена тільки для налагодження?
Як використовувати цю віртуальну машину?
Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью