|
|
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Коллеги, подскажите. Есть небольшое приложение. Выполняет след. функции, коннектится к БД, берет оттуда некие данные и формирует из них письмо, после чего отображает его текст в свинговской форме, и после нажатия кнопки Отправить, отправляет письмо определенному адресату. Вчера посмотрел в диспетчере задач и просто офигел. Приложение потребляет порядка 20 Мб оперативной памяти, у меня MSOutlook в три раза меньше потребляет :). Воспользовавшись JConsole было определено, что примерно 3 Мб занимает heap memory, и порядка 15 - 16 Мб non heap memory. Если с кучей все более-менее понятно, то со вторым не совсем. Объясните плиз, для чего расходуется non heap memory, можно ли уменьшить ее расход, и вообще где про это доходчиво написано? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 08:10 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Вы считаете 20 МБ это много? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 08:32 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
TimmВы считаете 20 МБ это много? :)Честно говоря, да :) Это же маленькая утилитка, у которой функционала то и никакого нет. Хотя здесь даже не столь важно, сколько она занимает, программа находится в памяти несколько секунд. Но просто стало интересно, куда все уходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 08:37 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Продолжаю тему. Цитата: 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 Мб для своих внутренних процессов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 11:41 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Хочешь сказать, что ты только сейчас заметил сколько jvm памяти кушает ? :)) Если объяснить очень грубо и примитивно, то jvm это очень и очень сложная программа, написать такую под силу только большим корпарациям (SUN, IBM, ORACLE), ну а очень и очнь сложные программы, кушают очень и очень много памяти :) Одна из сложностей, это кросплатформенность. (не самой jvm, а байт кода, который она исполняет). ps Может кто нибудь объяснить, зачем MS для .нет аналог jvm сотварила? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 12:33 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
GMax Как я понял из этого текста в этой области располагаются структуры классов, какие-то данные относительно методов и полей. Но ведь не 15 Мб! Так можно как-то уменьшить эту область памяти? Или стоит смириться с тем, что jvm будет стандартно потреблять 15-16 Мб для своих внутренних процессов? Имхо, именно так дело и обстоит: стоит смириться :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 12:46 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
wessen ps Может кто нибудь объяснить, зачем MS для .нет аналог jvm сотварила? "Чтобы всех отыскать, воедино созвать и единой мелкомягкой волей сковать...." :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2005, 13:40 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Вы можете ограничить память, потребляемую Вашим приложением хоть до 1Mб, но ЗАЧЕМ? Java видит свободную память и не понимает почему-бы ею не воспользоваться. Увидит меньше, смирится и воспользуется тем, что есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 11:11 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Valery ShiskinВы можете ограничить память, потребляемую Вашим приложением хоть до 1Mб, но ЗАЧЕМ? Java видит свободную память и не понимает почему-бы ею не воспользоваться. Увидит меньше, смирится и воспользуется тем, что есть.А можно поподробнее? А еще лучше пример, как ограничить потребление приложением памяти до 1 Мб? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 11:52 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
imho это происходит именно из-за того, что Вы испрользуете SWING. Там очень большая и видимо очень тяжелая генерация классов. Потому что программа без SWING даже с более сложным функционалом может потреблять меньше. И когда добавляешь SWING - всегда подрастает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 12:02 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Для извращенцев: Насколько я помню, ограничить память JVM можно при помощи параметра java -Xmx1M ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 14:40 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Ну и для полного счастья - на стек тоже мегабайт выделим: java -Xms1M... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 14:43 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
[off] Интересно, запустится у него прога с такими настройками памяти?... [/off] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 14:44 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Кувалдин Роман[off] Интересно, запустится у него прога с такими настройками памяти?... [/off]Это я уже попробовал давно. И конечно получил аут оф мемори. Просто Valery Shiskin говорил так, будто можно ограничить и все будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 14:56 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Но никто же не говорил что оно будет работать так как надо :-) Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 15:02 |
|
||
|
Расходование памяти
|
|||
|---|---|---|---|
|
#18+
Dima YermakНо никто же не говорил что оно будет работать так как надо :-) Так хоть бы как-нибудь работало, а то ведь не работает же :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 15:14 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33071042&tid=2152343]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 371ms |

| 0 / 0 |
