Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GARBAGE_COLLECTOR и оптимизация ресурсов памяти.. <br>распределение ресурсов 
:(
    Опции темы
polosatij
  Дата 25.11.2004, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 1
Всего: 8



доброе утро =)

народ, встретился недавно вот с такой проблемой:

мой "аппликатион" стал немного подтормаживать и даже в некоротых (неопределённых местах) подвисать..

при этом выделилось следующее: если с "аппликатион" работать медленно.. то есть.. нажать кнопку -> действие -> немного подождать (сек. 5- ... ).. нажать - подождать -> ТО ВСЁ РАБОТАЕТ ЗАМЕЧАТЕЛьНО smile

я думаю это связано как-то с памятью и GARBAGE_COLLECTOR, который не успевает очищать старые ресурсы..

можно ли натравить GARBAGE_COLLECTOR на какие-либо ресурсы? например, пользовался ЭТОЙ переменной, классом -> он мне больше не нужен, очистька его сразу..

и ещё на это тему:

Код

 p1 = new Point(...);
 // ... действия ...
 p1 = new Point(...);


p1 будет переписана? или для неё выделяються специальные ресурсы smile

если выделяются -> можно ли как-то решить происходящую из за этого проблему с памятью?

заранее паси smile


--------------------
PM   Вверх
AntonSaburov
Дата 25.11.2004, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Для p1 будет выделен скорее всего новый кусок памяти.

Ведь вызов GC - дело дорогое и частые вызовы делать не выгодно. Вполне может быт, что тормоза идут из-за того, что памяти мало и GC начинает пытаться освобождать "вторую генерацию" (т.е. те объекты, которые уже раз "пережили" CG) А это действительно процедура более долгая.

Советовать что-либо сложно. Попробуй поиграть с настройками JVM - увеличить память, уменьшить пероди вызова GC. Внутри может попробовать что-то поубирать.
PM MAIL WWW ICQ   Вверх
polosatij
  Дата 25.11.2004, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 1
Всего: 8



Цитата(AntonSaburov @ 25.11.2004, 13:53)
Для p1 будет выделен скорее всего новый кусок памяти.


можно ли переписать старый?


Цитата(AntonSaburov @ 25.11.2004, 13:53)
А это действительно процедура более долгая.


могу ли я его натравить сразу на те ресурсы что не нужны мне? и ведь знаю какие ресурсы мне больше не нужны smile

Цитата(AntonSaburov @ 25.11.2004, 13:53)
Попробуй поиграть с настройками JVM


ты не подскажешь: где мне их найти smile

хотя с другой стороны, мой "аппликатион" не для меня, а для другий пользователей.. и поэтому мне нужно всё сделать для стандартных настроек..



--------------------
PM   Вверх
Sardar
Дата 25.11.2004, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Цитата(polosatij @ 25.11.2004, 13:16)
можно ли переписать старый?

Сделай метод setЧтоНибудь(), который переустановит все необходимые поля, как будто обьект создан снова.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
polosatij
Дата 25.11.2004, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 1
Всего: 8



Цитата(Sardar @ 25.11.2004, 14:43)
Сделай метод setЧтоНибудь(), который переустановит все необходимые поля, как будто обьект создан снова.


да.. но ресурс старого то остаётся в памяти, а это и есть моя проблема smile
понимаешь? smile

setЧтоНибудь () - это тоже самое что и


Цитата(polosatij @ 25.11.2004, 12:51)
p1 = new Point(...);
  // ... действия ...
  p1 = new Point(...);




--------------------
PM   Вверх
AntonSaburov
Дата 25.11.2004, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата(polosatij @ 25.11.2004, 15:16)
можно ли переписать старый?

Это уже от тебя не зависит. Тут как JVM решит, так и будет.

Цитата(polosatij @ 25.11.2004, 15:16)
могу ли я его натравить сразу на те ресурсы что не нужны мне?

Нет, на конкретный мусор натравить нельзя. Можно только на все сразу smile

Цитата(polosatij @ 25.11.2004, 15:16)
ты не подскажешь: где мне их найти

Например тут можно посмотреть Tuning Garbage Collection with the 1.4.2 JavaTM Virtual Machine

PM MAIL WWW ICQ   Вверх
polosatij
Дата 25.11.2004, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 1
Всего: 8



Цитата(AntonSaburov @ 25.11.2004, 13:53)
Ведь вызов GC - дело дорогое и частые вызовы делать не выгодно.



почему smile
или точнее - из за чего smile


--------------------
PM   Вверх
AntonSaburov
Дата 25.11.2004, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата(polosatij @ 25.11.2004, 17:13)
почему

А как раз по ссылочке, которую я дал можно это узнать. Вообще освобождение памяти - дело дорогое. Помню были соревнования понаписанию самого быстрого allocate(). Там же не просто указатель сунул в зубы. Там же ведется список свободных и занятых областей. А когда освобождаешь память удаля.тся записи из внутренних таблиц, в которых это все храниться. Кроме того надо пробежать по всем ссылкам и проверить их доступность. А это долгий процесс. Сравнительно.
PM MAIL WWW ICQ   Вверх
Domestic Cat
Дата 25.11.2004, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172




Здесь есть - самый нижний пост и дальше.

http://forum.vingrad.ru/index.php?showtopic=24799&st=90


--------------------

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.