powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Медленно работает загрузчик класов?
33 сообщений из 33, показаны все 2 страниц
Медленно работает загрузчик класов?
    #34672836
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли, что при первом запуске программы загрузчик работает значительно дольше, чем при последующих?

Опишу ситуацию. Swing-клиент запакован в .jar, в котором в файле манифеста прописан mainclass и classpath. Программа работает на сервере терминалов (win2003).
Мейнкласс вроде не много всего использует - несколько свинг-компонентов, классы из java.util, несколько моих классов. Насколько я понимаю перед запуском процедуры main должны подгружаться только они.
Когда первый пользователь утром запускает прогу, она может запускаться от 1 до 15 мин. При этом все последующие запуски проходят за долю секунды. То же самое происходит, если например заменить джарку новой версией.
При этом задержка происходит до входа в процедуру main.

Подскажите, в каком направлении искать. Может я зря на загрузку классов грешу?
Наш сервер терминалов может давать масса других "эффектов".
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34672905
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы не стал этим парится, думаю загрузка jvm и даёт первоначальные тормоза ....
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34672929
Фотография Хрюхрюшкин.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странный эффект. Я бы не стал грешить на Java.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34672989
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ээх. да я бы с удовольствием не парилась. но пользователи ноют...
наверное отложу проблему, может само рассосется, или осенит :)
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34672994
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- возможно системе не хватает ОП (в процессе распаковки JAR-а в JVM) и вместо ОП используется SWAP, что существенно замедляет работу.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673054
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оперативки - 4 гига. больше трех редко используется. особенно с утра, когда первые пользователи загружают прогу.
но за идею спасибо
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673106
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как можно отследить процесс загрузки ява-машины? По каким-то логам? Чтобы понять, все-таки это уже загрузка моих классов тормозит или что-то еще?
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673129
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а клиентам как jar доставляется?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673142
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запускай с опцией -verbose.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673168
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deadyа клиентам как jar доставляется?

Не совсем поняла вопрос.
Пользователи работает удаленными рабочими столами на сервере терминалов. То есть запускают jarку непосредственно оттуда, где она лежит. Библиотеки тоже все рядышком.

Или что-то другое имелось в виду?
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673280
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если не remote desktop пользоваться, а напрямую запустить - тоже
будет тормозить?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673462
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimmЗапускай с опцией -verbose.

За опцию спасибо. Я еще с ней поэкспериментирую, но в данном случае не очень помогла, так как вообще существенно замедлила работу приложения.

Deadyа если не remote desktop пользоваться, а напрямую запустить

Главный системщик говорит, что никакой разницы, работает ли человек через удаленку или непосредственно на машине нет. сеть и локальная машина отвечают только за картинку на мониторе. все остальное происходит на сервере. хочется ему верить
но до сервера дойти попробую. мало ли какие чудеса бывают...
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673531
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм. тот же эффект происходит при переименовании каталога с программой.

подскажите еще такую вещь, хотя наверное это все очевидно. но не мне:(
ява-машина запускается для каждой программы заново? или новые программы как-то "подхватываются" уже запущенной ява-машиной? что-то я со всем этим механизмом не очень знакома, может подскажете где почитать?
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673678
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть така фича начиная с Java 5. (Class Data Sharing)
Заключается в том что JVM при первом запуске скидывает в определенный файл дамп памяти. И потом вместо того чтобы загружать эти классы заново - поднимает дамп.
Но мне кажется это не Ваш случай. Эта система никак не связана с другими приложениями. Расскажите где именно находиться Ваше приложение. Как укомпановано. Какой строкой запускается.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673683
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svetokхм. тот же эффект происходит при переименовании каталога с программой.

подскажите еще такую вещь, хотя наверное это все очевидно. но не мне:(
ява-машина запускается для каждой программы заново? или новые программы как-то "подхватываются" уже запущенной ява-машиной? что-то я со всем этим механизмом не очень знакома, может подскажете где почитать?
Каждый запуск java - отдельная JVM (по-моему у Sun'a были идеи от этого отказаться).
Сколько юзеров работает на терминале? может он банально не справляется?
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673703
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Much of the Win32k user session is utilizing shared code and will load noticeably faster after one instance has previously loaded.

взято отсюда т.е. видимо после запуска приложения из одной терминальной сессии, другой запуск соотв. происходит быстрее(шаринг ацкий)

зы
думаю надо напрягать админа, чтоб терминальный сервер тюнил
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673713
zalexaka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там же

МЫКРОСОВТAll processes on the Terminal Server will share code in kernel and user modes wherever possible.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673736
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а на вашем компе (не на сервере) быстро работает? может имеет смысл
поменяь способ распространения программы? например, использовать web
start?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673812
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zalexaka , за информацию по win32K огромное спасибо. по крайней мере, вопрос с РАЗНЫМ временем запуска она сняла. однако отсюда напрашивается грустный вывод, если бы у каждого клиента была своя винда и свой экземпляр программы, то она тормозила бы у всех...

локально на компе все работает нормально. НО, локально стоит линукс. более того, у меня в конторе трудно найти машину с локальной виндой, разве что у руководства (результат легализации софта). но по-видимому придется, надо бы хотя бы на winxp протестить. так как после наводки zalexaka возникло подозрение, что на виндах вообще будет работать медленнее, чем локально на линуксе.

to Blazkowicz и Deady:
приложение - трехуровневое. сп - jboss
классы клиента запакованы в джарку. соответственно рядышком лежит джарка с классами бинов. + всякие библиотеки. все это лежит на диске C на терминальном сервере. запускается джарка примитивной строкой java -jar xxx.jar

я не имею большого опыта в ява. может действительно лучше как-то по-другому приложение распространять... хотя насчет вебстарта сомневаюсь. все-таки пользователи работают там же, где лежит приложение, да и размер приложения довольно большой. и еще будет расти.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673831
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если 3х звенка - так webstart самое то.
поставить всем линукс и сидеть через терминальный сервер - это жесть.
линукс нехуже виника в плане работы с явой, если даже не лучше.

создайте jar с клиентскими формами, и jar с интерфейсами бинов - этого
клиенту будет достаточно для работы в 3х-звенке
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673844
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Timm:
сервер вроде не перегружен. около 40-50 пользователей единоразово. работают с офисными программами, 1ской, и еще несколькими не слишком большими приложениями собственного "производства". вобщем, на тормоза не жалуются.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673860
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Deady:
вообще мысль интересная. попробую реализовать.
однако боюсь из соображений безпасности не пропустят. :( у нас типа все документы и базы тока на терминалке крутятся, а локально у пользователей практически голые компы - ну там интернетом может кто пользуется, музычку слушает, а по работе все в терминалке
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673934
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой безопасности? у вас jboss где стоит? вам нужно всего лишь дать
клиентам доступ на 1099 порт машины с jboss.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673960
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
погодите. но ведь работая через веб-старт, разве они фактически не локально работать будут?
с безопасностью основное требование - чтоб документы не выносились с терминального сервера. то есть чтоб они не могли сохранять какие-нить отчеты локально.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34673985
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какие документы? у вас чем программа занимается?
что мне мешает утянуть документы из терминального сервера?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34674013
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
программа, в частности генерирует множетсво отчетов по базе данных. те средства, которыми они реализованы, позволяют их сохранять, например, в формате rtf. тем более, что по некоторым документам это может быть необходимо.

понятно, что есть электронка, принтскрин или еще какие обходные пути, чтоб вытащить информацию с сервера терминалов. но видимо, руководство лучше спит, если у пользователей локально на компах ценная информация не хранится. я на это воздействовать не могу:(

но вообще я от вашей мысли не отказываюсь. удочку закину. надо только сначала оттестить схему
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34674033
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая версия Java?
Если приложение небольшое - создайте аналог, поэкспериментируйте с ним на этом же сервере.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34674061
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ява была пятая, недавно перешли на шестую.
И с той, и с другой одна и та же песня...

Timm создайте аналог, поэкспериментируйте с ним на этом же сервере.

ну я собственно так и делаю. экспериментирую с копией
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34674233
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
До перехода были такие же проблемы?
svetokну я собственно так и делаю. экспериментирую с копией
Аналог - это отдельная тестовая программа, а не копия тормознутой
PS. замечательные вещи
Just for testing I did run HW (hello world in java) through
my profiler (jmp): "java -Xrunjmp HW". This is the number of
events that took place:

c_class_load: 376
c_class_unload: 0
c_object_alloc: 4902
c_object_move: 0
c_object_free: 0
c_thread_start: 6 (Note: one thread is for jmp)
c_thread_end: 2
c_method_entry: 14559
c_method_exit: 14559

Now, I would like to know why hello world requires 376
classes and _15 thousand_ method calls.
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34674357
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimmАналог - это отдельная тестовая программа, а не копия тормознутой

Ну да, наверное в теории тестирования я не сильна. Теоретически могу понять разницу между копией и аналогом, но мне все же кажется, что в моем случае это одно и то же.

А ссылочку поизучаю. цитата замечательная :)
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34674778
swt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что - свинг обязателен? давно уже пора переходить на web

--
:)
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34674925
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я на жаве не пишу, но как-то имел гембель с одной жава-программой, которая со слов пользователй очень "долго" запускалась. Оказалось, что на машине стоит антивирь, который при при запуске распаковывает проверяет все эти Jarы, а потом уже их не трогает. Может это ваш случай, что на терминальном сервере стоит антивирь и колбасит все подряд..
...
Рейтинг: 0 / 0
Медленно работает загрузчик класов?
    #34676303
svetok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
swtа что - свинг обязателен? давно уже пора переходить на web

Не обязателен конечно, но какое-то время назад приняли такое решение. Теперь уж переписывать не с руки. У нас веб-интерфейс, только урезанный по функциям тоже есть - на нем филиалы работают, а на свинговском головной офис.

Ggg_oldантивирь, который при при запуске распаковывает проверяет все эти Jarы, а потом уже их не трогает

Да, да, да! Все оказалось именно так. Даже еще хуже. Я добила системщиков, которые уверяли что ниче такого быть не может, и залезла в логи антивируса. Антивирус McAfee пытается проверить rt.jar (причем только его) и не может, заканчивает проверку по таймауту. Причем делает это каждый день для каждого пользователя.

Другая ситуауия с переименованием каталога. Здесь задержка происходит, видимо, действительно из-за медленной загрузки java-машины, но это все же не 10-15 минут утренней загрузки, а вполне терпимые полминутки.

Так что проблема решена, за советы всем большое спасибо!
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Медленно работает загрузчик класов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]