информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыАтака на InternetПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Unix] [Java] кто-нибудь оптимизировал крупное приложение ? как искать места, где больше всего теряется ресурсов системы ? 29.05.03 22:20  
Автор: tdes <jin> Статус: Member
<"чистая" ссылка>
[Unix] [Java] кто-нибудь оптимизировал крупное приложение ? как искать места, где больше всего теряется ресурсов системы ? 30.05.03 01:16  
Автор: tatar_0x4e Статус: Member
<"чистая" ссылка>
Для оптимизации по памяти я использовал методы Runtime.freeMemory(), Runtime.totalMemory(), собирал статистику, анализировал, графики строил, GC тюнил :) Статистику использования памяти можно также получить запуская VM с ключиком -verbose:gc...Кроме того имеется много профайлеров - те же JProbe, Borland OptimizeIt. Пока по моим наблюдениям самые большие проблемы у Java c памятью - жрет она ее не просто помногу, а ОЧЕНЬ помногу, - так что оптимизацией по скорости заниматься не довелось :)
[Unix] [Java] кто-нибудь оптимизировал крупное приложение ? как искать места, где больше всего теряется ресурсов системы ? 30.05.03 02:16  
Автор: tdes <jin> Статус: Member
<"чистая" ссылка>
У нас сервер, который, если повезет :)), будет обслуживать много запросов одновременно.
А есть ли какие-то бесплатные тулзы ? вот например нашёл HPROF ot SUN ...
[Unix] [Java] кто-нибудь оптимизировал крупное приложение ? как искать места, где больше всего теряется ресурсов системы ? 30.05.03 12:19  
Автор: tatar_0x4e Статус: Member
<"чистая" ссылка>
> А есть ли какие-то бесплатные тулзы ? вот например нашёл
> HPROF ot SUN ...
А я даже этого не нашел, хотя и искал долго :)

По поводу сервера. В моем случае замечена интересная особенность - при правильно подобранных параметрах JVM, потребление памяти снижается где-то в три раза. Если с дефолтными настройками это чудо жрет порядка 150 MB сразу, а потом еще, и еще, и отдавать не собирается, то с incremental garbage collector и индивидуально подобранными опциями -Xmx, -XX:MaxPermSize, -XX:MaxHeapFreeRatio, -XX:NewRatio, не меняя ни строчки в исходном коде, получим порядка 50 MB сразу и гораздо меньшую скорость роста. Впрочем, ожидать, что оно отдаст ту память, которую уже скушало, не приходится:) Лучшая комбинация сборщиков мусора у меня получилась: -XX:+UseParallelGC, -Xincgc. Так что, прежде чем править код, имеет смысл поиграться с ключиками java VM и договориться с GC. Выигрыш, скорее всего, будет гораздо больше. Оптимизируя код в соответствии с рекомендациями Sun получилось выцарапать у него всего ~2 MB, да и то большой кровью.

Вот неплохие линки по теме:
http://java.sun.com/docs/hotspot/gc/index.html
http://java.sun.com/docs/hotspot/index.html
http://java.sun.com/docs/hotspot/gc1.4.2/index.html

А это просто забавная статейка про то, как Java работает с памятью по сравнению с С:

http://www.aceshardware.com/Spades/read.php?article_id=153

В частности, автор пришел к выводу, что с динамически выделяемой памятью JVM работает лучше, чем MSVC...
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach