powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Расходование памяти
17 сообщений из 17, страница 1 из 1
Расходование памяти
    #33071023
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, подскажите.
Есть небольшое приложение. Выполняет след. функции, коннектится к БД, берет оттуда некие данные и формирует из них письмо, после чего отображает его текст в свинговской форме, и после нажатия кнопки Отправить, отправляет письмо определенному адресату.
Вчера посмотрел в диспетчере задач и просто офигел. Приложение потребляет порядка 20 Мб оперативной памяти, у меня MSOutlook в три раза меньше потребляет :).
Воспользовавшись JConsole было определено, что примерно 3 Мб занимает heap memory, и порядка 15 - 16 Мб non heap memory.
Если с кучей все более-менее понятно, то со вторым не совсем.
Объясните плиз, для чего расходуется non heap memory, можно ли уменьшить ее расход, и вообще где про это доходчиво написано?
Спасибо.
...
Рейтинг: 0 / 0
Расходование памяти
    #33071042
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы считаете 20 МБ это много? :)
...
Рейтинг: 0 / 0
Расходование памяти
    #33071047
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TimmВы считаете 20 МБ это много? :)Честно говоря, да :) Это же маленькая утилитка, у которой функционала то и никакого нет. Хотя здесь даже не столь важно, сколько она занимает, программа находится в памяти несколько секунд. Но просто стало интересно, куда все уходит.
...
Рейтинг: 0 / 0
Расходование памяти
    #33071559
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжаю тему. Цитата:
sun.comThe Java virtual machine has a method area that is shared among all threads. The method area belongs to non-heap memory. It stores per-class structures such as a runtime constant pool, field and method data, and the code for methods and constructors. It is created at the Java virtual machine start-up.

The method area is logically part of the heap but a Java virtual machine implementation may choose not to either garbage collect or compact it. Similar to the heap, the method area may be of a fixed size or may be expanded and shrunk. The memory for the method area does not need to be contiguous.

In addition to the method area, a Java virtual machine implementation may require memory for internal processing or optimization which also belongs to non-heap memory. For example, the JIT compiler requires memory for storing the native machine code translated from the Java virtual machine code for high performance.
Как я понял из этого текста в этой области располагаются структуры классов, какие-то данные относительно методов и полей. Но ведь не 15 Мб!
Так можно как-то уменьшить эту область памяти? Или стоит смириться с тем, что jvm будет стандартно потреблять 15-16 Мб для своих внутренних процессов?
...
Рейтинг: 0 / 0
Расходование памяти
    #33071724
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочешь сказать, что ты только сейчас заметил сколько jvm памяти кушает ? :))
Если объяснить очень грубо и примитивно, то jvm это очень и очень сложная программа, написать такую под силу только большим корпарациям (SUN, IBM, ORACLE), ну а очень и очнь сложные программы, кушают очень и очень много памяти :)
Одна из сложностей, это кросплатформенность. (не самой jvm, а байт кода, который она исполняет).

ps Может кто нибудь объяснить, зачем MS для .нет аналог jvm сотварила?
...
Рейтинг: 0 / 0
Расходование памяти
    #33071769
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GMax
Как я понял из этого текста в этой области располагаются структуры классов, какие-то данные относительно методов и полей. Но ведь не 15 Мб!
Так можно как-то уменьшить эту область памяти? Или стоит смириться с тем, что jvm будет стандартно потреблять 15-16 Мб для своих внутренних процессов?

Имхо, именно так дело и обстоит: стоит смириться :)
...
Рейтинг: 0 / 0
Расходование памяти
    #33071991
Фотография XM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen
ps Может кто нибудь объяснить, зачем MS для .нет аналог jvm сотварила?
"Чтобы всех отыскать, воедино созвать и единой мелкомягкой волей сковать...." :)
...
Рейтинг: 0 / 0
Расходование памяти
    #33073997
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы можете ограничить память, потребляемую Вашим приложением хоть до 1Mб,
но ЗАЧЕМ? Java видит свободную память и не понимает почему-бы ею не воспользоваться. Увидит меньше, смирится и воспользуется тем, что есть.
...
Рейтинг: 0 / 0
Расходование памяти
    #33074124
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery ShiskinВы можете ограничить память, потребляемую Вашим приложением хоть до 1Mб,
но ЗАЧЕМ? Java видит свободную память и не понимает почему-бы ею не воспользоваться. Увидит меньше, смирится и воспользуется тем, что есть.А можно поподробнее? А еще лучше пример, как ограничить потребление приложением памяти до 1 Мб?
...
Рейтинг: 0 / 0
Расходование памяти
    #33074172
J--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
J--
Гость
imho это происходит именно из-за того, что Вы испрользуете SWING.
Там очень большая и видимо очень тяжелая генерация классов.
Потому что программа без SWING даже с более сложным функционалом может потреблять меньше. И когда добавляешь SWING - всегда подрастает.
...
Рейтинг: 0 / 0
Расходование памяти
    #33077259
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для извращенцев:

Насколько я помню, ограничить память JVM можно при помощи параметра
java -Xmx1M ...
...
Рейтинг: 0 / 0
Расходование памяти
    #33077276
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и для полного счастья - на стек тоже мегабайт выделим: java -Xms1M...
...
Рейтинг: 0 / 0
Расходование памяти
    #33077279
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[off] Интересно, запустится у него прога с такими настройками памяти?... [/off]
...
Рейтинг: 0 / 0
Расходование памяти
    #33077337
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кувалдин Роман[off] Интересно, запустится у него прога с такими настройками памяти?... [/off]Это я уже попробовал давно. И конечно получил аут оф мемори. Просто Valery Shiskin говорил так, будто можно ограничить и все будет работать.
...
Рейтинг: 0 / 0
Расходование памяти
    #33077357
Dima Yermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но никто же не говорил что оно будет работать так как надо :-)


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Расходование памяти
    #33077398
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima YermakНо никто же не говорил что оно будет работать так как надо :-) Так хоть бы как-нибудь работало, а то ведь не работает же :)
...
Рейтинг: 0 / 0
Расходование памяти
    #33079541
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если программе для работы требуется 128 мб памяти, а в наличии только 32 - то как ни старайся - выйдет OutOfMemory. Ты через профайлер посмотри, сколько программе надо памяти, тогда и ограничивай.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Расходование памяти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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