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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Unix] [Java] кто-нибудь оптимизировал крупное приложение ? как искать места, где больше всего теряется ресурсов системы ? 30.05.03 02:16  Число просмотров: 1104
Автор: tdes <jin> Статус: Member
<"чистая" ссылка>
У нас сервер, который, если повезет :)), будет обслуживать много запросов одновременно.
А есть ли какие-то бесплатные тулзы ? вот например нашёл HPROF ot SUN ...
<programming>
[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