Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Медленно работает загрузчик класов? / 25 сообщений из 33, страница 1 из 2
20.07.2007, 12:33:28
    #34672836
svetok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленно работает загрузчик класов?
Возможно ли, что при первом запуске программы загрузчик работает значительно дольше, чем при последующих?

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

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

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

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

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

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

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

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

подскажите еще такую вещь, хотя наверное это все очевидно. но не мне:(
ява-машина запускается для каждой программы заново? или новые программы как-то "подхватываются" уже запущенной ява-машиной? что-то я со всем этим механизмом не очень знакома, может подскажете где почитать?
Каждый запуск java - отдельная JVM (по-моему у Sun'a были идеи от этого отказаться).
Сколько юзеров работает на терминале? может он банально не справляется?
...
Рейтинг: 0 / 0
20.07.2007, 15:12:52
    #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
20.07.2007, 15:15:46
    #34673713
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленно работает загрузчик класов?
там же

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

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

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

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

создайте jar с клиентскими формами, и jar с интерфейсами бинов - этого
клиенту будет достаточно для работы в 3х-звенке
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
20.07.2007, 15:47:20
    #34673844
svetok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленно работает загрузчик класов?
to Timm:
сервер вроде не перегружен. около 40-50 пользователей единоразово. работают с офисными программами, 1ской, и еще несколькими не слишком большими приложениями собственного "производства". вобщем, на тормоза не жалуются.
...
Рейтинг: 0 / 0
20.07.2007, 15:51:32
    #34673860
svetok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленно работает загрузчик класов?
to Deady:
вообще мысль интересная. попробую реализовать.
однако боюсь из соображений безпасности не пропустят. :( у нас типа все документы и базы тока на терминалке крутятся, а локально у пользователей практически голые компы - ну там интернетом может кто пользуется, музычку слушает, а по работе все в терминалке
...
Рейтинг: 0 / 0
20.07.2007, 16:08:55
    #34673934
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленно работает загрузчик класов?
какой безопасности? у вас jboss где стоит? вам нужно всего лишь дать
клиентам доступ на 1099 порт машины с jboss.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
20.07.2007, 16:15:53
    #34673960
svetok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленно работает загрузчик класов?
погодите. но ведь работая через веб-старт, разве они фактически не локально работать будут?
с безопасностью основное требование - чтоб документы не выносились с терминального сервера. то есть чтоб они не могли сохранять какие-нить отчеты локально.
...
Рейтинг: 0 / 0
20.07.2007, 16:25:20
    #34673985
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Медленно работает загрузчик класов?
какие документы? у вас чем программа занимается?
что мне мешает утянуть документы из терминального сервера?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Медленно работает загрузчик класов? / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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