|
|
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
Возможно ли, что при первом запуске программы загрузчик работает значительно дольше, чем при последующих? Опишу ситуацию. Swing-клиент запакован в .jar, в котором в файле манифеста прописан mainclass и classpath. Программа работает на сервере терминалов (win2003). Мейнкласс вроде не много всего использует - несколько свинг-компонентов, классы из java.util, несколько моих классов. Насколько я понимаю перед запуском процедуры main должны подгружаться только они. Когда первый пользователь утром запускает прогу, она может запускаться от 1 до 15 мин. При этом все последующие запуски проходят за долю секунды. То же самое происходит, если например заменить джарку новой версией. При этом задержка происходит до входа в процедуру main. Подскажите, в каком направлении искать. Может я зря на загрузку классов грешу? Наш сервер терминалов может давать масса других "эффектов". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 12:33:28 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
я бы не стал этим парится, думаю загрузка jvm и даёт первоначальные тормоза .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 12:49:20 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
Странный эффект. Я бы не стал грешить на Java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 12:52:58 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
ээх. да я бы с удовольствием не парилась. но пользователи ноют... наверное отложу проблему, может само рассосется, или осенит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 13:05:59 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
- возможно системе не хватает ОП (в процессе распаковки JAR-а в JVM) и вместо ОП используется SWAP, что существенно замедляет работу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 13:06:19 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
оперативки - 4 гига. больше трех редко используется. особенно с утра, когда первые пользователи загружают прогу. но за идею спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 13:17:22 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
А как можно отследить процесс загрузки ява-машины? По каким-то логам? Чтобы понять, все-таки это уже загрузка моих классов тормозит или что-то еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 13:26:45 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
а клиентам как jar доставляется? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 13:30:53 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
Запускай с опцией -verbose. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 13:34:39 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
Deadyа клиентам как jar доставляется? Не совсем поняла вопрос. Пользователи работает удаленными рабочими столами на сервере терминалов. То есть запускают jarку непосредственно оттуда, где она лежит. Библиотеки тоже все рядышком. Или что-то другое имелось в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 13:39:32 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
а если не remote desktop пользоваться, а напрямую запустить - тоже будет тормозить? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 14:00:49 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
TimmЗапускай с опцией -verbose. За опцию спасибо. Я еще с ней поэкспериментирую, но в данном случае не очень помогла, так как вообще существенно замедлила работу приложения. Deadyа если не remote desktop пользоваться, а напрямую запустить Главный системщик говорит, что никакой разницы, работает ли человек через удаленку или непосредственно на машине нет. сеть и локальная машина отвечают только за картинку на мониторе. все остальное происходит на сервере. хочется ему верить но до сервера дойти попробую. мало ли какие чудеса бывают... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 14:33:12 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
хм. тот же эффект происходит при переименовании каталога с программой. подскажите еще такую вещь, хотя наверное это все очевидно. но не мне:( ява-машина запускается для каждой программы заново? или новые программы как-то "подхватываются" уже запущенной ява-машиной? что-то я со всем этим механизмом не очень знакома, может подскажете где почитать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 14:44:29 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
Есть така фича начиная с Java 5. (Class Data Sharing) Заключается в том что JVM при первом запуске скидывает в определенный файл дамп памяти. И потом вместо того чтобы загружать эти классы заново - поднимает дамп. Но мне кажется это не Ваш случай. Эта система никак не связана с другими приложениями. Расскажите где именно находиться Ваше приложение. Как укомпановано. Какой строкой запускается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 15:07:18 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
svetokхм. тот же эффект происходит при переименовании каталога с программой. подскажите еще такую вещь, хотя наверное это все очевидно. но не мне:( ява-машина запускается для каждой программы заново? или новые программы как-то "подхватываются" уже запущенной ява-машиной? что-то я со всем этим механизмом не очень знакома, может подскажете где почитать? Каждый запуск java - отдельная JVM (по-моему у Sun'a были идеи от этого отказаться). Сколько юзеров работает на терминале? может он банально не справляется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 15:08:32 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
Much of the Win32k user session is utilizing shared code and will load noticeably faster after one instance has previously loaded. взято отсюда т.е. видимо после запуска приложения из одной терминальной сессии, другой запуск соотв. происходит быстрее(шаринг ацкий) зы думаю надо напрягать админа, чтоб терминальный сервер тюнил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 15:12:52 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
там же МЫКРОСОВТAll processes on the Terminal Server will share code in kernel and user modes wherever possible. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 15:15:46 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
а на вашем компе (не на сервере) быстро работает? может имеет смысл поменяь способ распространения программы? например, использовать web start? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 15:21:28 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
zalexaka , за информацию по win32K огромное спасибо. по крайней мере, вопрос с РАЗНЫМ временем запуска она сняла. однако отсюда напрашивается грустный вывод, если бы у каждого клиента была своя винда и свой экземпляр программы, то она тормозила бы у всех... локально на компе все работает нормально. НО, локально стоит линукс. более того, у меня в конторе трудно найти машину с локальной виндой, разве что у руководства (результат легализации софта). но по-видимому придется, надо бы хотя бы на winxp протестить. так как после наводки zalexaka возникло подозрение, что на виндах вообще будет работать медленнее, чем локально на линуксе. to Blazkowicz и Deady: приложение - трехуровневое. сп - jboss классы клиента запакованы в джарку. соответственно рядышком лежит джарка с классами бинов. + всякие библиотеки. все это лежит на диске C на терминальном сервере. запускается джарка примитивной строкой java -jar xxx.jar я не имею большого опыта в ява. может действительно лучше как-то по-другому приложение распространять... хотя насчет вебстарта сомневаюсь. все-таки пользователи работают там же, где лежит приложение, да и размер приложения довольно большой. и еще будет расти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 15:39:07 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
если 3х звенка - так webstart самое то. поставить всем линукс и сидеть через терминальный сервер - это жесть. линукс нехуже виника в плане работы с явой, если даже не лучше. создайте jar с клиентскими формами, и jar с интерфейсами бинов - этого клиенту будет достаточно для работы в 3х-звенке Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 15:44:13 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
to Timm: сервер вроде не перегружен. около 40-50 пользователей единоразово. работают с офисными программами, 1ской, и еще несколькими не слишком большими приложениями собственного "производства". вобщем, на тормоза не жалуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 15:47:20 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
to Deady: вообще мысль интересная. попробую реализовать. однако боюсь из соображений безпасности не пропустят. :( у нас типа все документы и базы тока на терминалке крутятся, а локально у пользователей практически голые компы - ну там интернетом может кто пользуется, музычку слушает, а по работе все в терминалке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 15:51:32 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
какой безопасности? у вас jboss где стоит? вам нужно всего лишь дать клиентам доступ на 1099 порт машины с jboss. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 16:08:55 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
погодите. но ведь работая через веб-старт, разве они фактически не локально работать будут? с безопасностью основное требование - чтоб документы не выносились с терминального сервера. то есть чтоб они не могли сохранять какие-нить отчеты локально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 16:15:53 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
какие документы? у вас чем программа занимается? что мне мешает утянуть документы из терминального сервера? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 16:25:20 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
программа, в частности генерирует множетсво отчетов по базе данных. те средства, которыми они реализованы, позволяют их сохранять, например, в формате rtf. тем более, что по некоторым документам это может быть необходимо. понятно, что есть электронка, принтскрин или еще какие обходные пути, чтоб вытащить информацию с сервера терминалов. но видимо, руководство лучше спит, если у пользователей локально на компах ценная информация не хранится. я на это воздействовать не могу:( но вообще я от вашей мысли не отказываюсь. удочку закину. надо только сначала оттестить схему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 16:32:55 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
Какая версия Java? Если приложение небольшое - создайте аналог, поэкспериментируйте с ним на этом же сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 16:39:26 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
Ява была пятая, недавно перешли на шестую. И с той, и с другой одна и та же песня... Timm создайте аналог, поэкспериментируйте с ним на этом же сервере. ну я собственно так и делаю. экспериментирую с копией ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 16:49:47 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
До перехода были такие же проблемы? 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 17:35:47 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
TimmАналог - это отдельная тестовая программа, а не копия тормознутой Ну да, наверное в теории тестирования я не сильна. Теоретически могу понять разницу между копией и аналогом, но мне все же кажется, что в моем случае это одно и то же. А ссылочку поизучаю. цитата замечательная :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2007, 18:09:33 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
а что - свинг обязателен? давно уже пора переходить на web -- :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2007, 01:06:06 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
Я на жаве не пишу, но как-то имел гембель с одной жава-программой, которая со слов пользователй очень "долго" запускалась. Оказалось, что на машине стоит антивирь, который при при запуске распаковывает проверяет все эти Jarы, а потом уже их не трогает. Может это ваш случай, что на терминальном сервере стоит антивирь и колбасит все подряд.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2007, 12:48:14 |
|
||
|
Медленно работает загрузчик класов?
|
|||
|---|---|---|---|
|
#18+
swtа что - свинг обязателен? давно уже пора переходить на web Не обязателен конечно, но какое-то время назад приняли такое решение. Теперь уж переписывать не с руки. У нас веб-интерфейс, только урезанный по функциям тоже есть - на нем филиалы работают, а на свинговском головной офис. Ggg_oldантивирь, который при при запуске распаковывает проверяет все эти Jarы, а потом уже их не трогает Да, да, да! Все оказалось именно так. Даже еще хуже. Я добила системщиков, которые уверяли что ниче такого быть не может, и залезла в логи антивируса. Антивирус McAfee пытается проверить rt.jar (причем только его) и не может, заканчивает проверку по таймауту. Причем делает это каждый день для каждого пользователя. Другая ситуауия с переименованием каталога. Здесь задержка происходит, видимо, действительно из-за медленной загрузки java-машины, но это все же не 10-15 минут утренней загрузки, а вполне терпимые полминутки. Так что проблема решена, за советы всем большое спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2007, 10:00:18 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2145092]: |
0ms |
get settings: |
12ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
48ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
84ms |
get tp. blocked users: |
2ms |
| others: | 285ms |
| total: | 486ms |

| 0 / 0 |
