Memory Manager (контроль за heap-памятью)... | SEclub.org
Memory Manager (контроль за heap-памятью)...
Все новые
Ну я бы не стал точно утверджать, что heap общий. Разумеется, количество heap, используемое одним приложением не может не влиять на другие запущенные приложения. Но не факт, что если есть одно приложение, которое занимает максимум выделяемой памяти (например, 5 МБ на JP-7), то нельзя больше запускать приложения, тоже загружающие память. Я имею в виду, что может быть так, что есть, допустим, 20 МБ оперативной памяти, но одному приложению выделяется не более 7 МБ. На JP-8.3, кстати, будет возможность выяснить это точно.
Ну а если какая прога криво написана и не занимает память дальше, чтобы она росла, а вместо этого виснет, тогда да, выделелние памяти "мусором" будет иметь применение.

Ссылка на пост
Всего сообщений: 132
*
=Vitek=
23 мая 2008 в 19:08
Сейчас поэкспериментировал с прогой, запустил её, оперу 4.1 и оперу 2.07. Нажимал alloc, заходил в оперу 2.07, нажимал "0", постепенно с каждым нажатием "Alloc" опера показывала больше свободного heap"a. Но в какой-то момент показало где-то около 800б, и больше показания не росли. И в один прекрасный момент при нажатии "Alloc" прога выдала: null outofmemoryerror. Нажал "Realloc", всё вернулось к нормальным значениям. Не очень только понял, что дает галка "auto gc()".
23 мая 2008 в 19:10 / =Vitek= (1)
*
=Vitek=
23 мая 2008 в 19:36
Попробовал ещё запустить встроенный проигрыватель, Vizual (визуализация плеера на java) и Memory Manager. Без этой проги постоянно отключался и появлялся звук, при выделении памяти прогой звук не пропадал (по крайней мере, в течении 5-6 минут), но визуализация стала работать немного прерывисто.
*
SkliF
23 мая 2008 в 19:46
=Vitek=, в описании же написано - gc() - полное высвобождение занятой памяти. Если галка стоит- постоянная чистка мусора получается.
*
grafmoto
26 мая 2008 в 12:12
всем драсьте! это приложение предназначено в основном для экспериментальных целей. например, чтобы узнать сколько памяти расходует то или иное приложение. функцию Alloc можно использовать для определения максимального значения размера heap. на jp-7 этот размер является общим для всех приложений: чем больше одно ява приложение "кушает" памяти, тем меньше памяти может быть выделено другому приложению. этот эксперимент можно проделать с этим приложением: выделяя в нем все больше памяти, все меньше приложений можно будет запустить одновременно и все неустойчивей могут работать уже запущенные приложения. некоторые приложения (моды оперы, к примеру) используют метод Runtime totalMemory() для определения размера памяти и получить максимальное значение не смогут, если этим приложение первоначально не увеличить динамическую память.
26 мая 2008 в 12:18 / grafmoto (1)
*
Xodok
26 мая 2008 в 16:29
grafmoto, спасибо за визит и ликбез!
*
SkliF
26 мая 2008 в 19:49
Ну вот, а я что говорил:-). Куча- общая. И с модом ОМ теперь мне всё ясно. Не зря я ему хип выделяю.
*
Malcolm
27 мая 2008 в 11:07
Ну я бы не стал точно утверджать, что heap общий. Разумеется, количество heap, используемое одним приложением не может не влиять на другие запущенные приложения. Но не факт, что если есть одно приложение, которое занимает максимум выделяемой памяти (например, 5 МБ на JP-7), то нельзя больше запускать приложения, тоже загружающие память. Я имею в виду, что может быть так, что есть, допустим, 20 МБ оперативной памяти, но одному приложению выделяется не более 7 МБ. На JP-8.3, кстати, будет возможность выяснить это точно.
Ну а если какая прога криво написана и не занимает память дальше, чтобы она росла, а вместо этого виснет, тогда да, выделелние памяти "мусором" будет иметь применение.
27 мая 2008 в 11:08 / Malcolm (1)
*
Xodok
27 мая 2008 в 11:41
Sklif, естественно, куча одна, в зависимости от модели на 5 колене она ~ от 3 до 6 метров, и уже эта куча делится ява- машиной на кучки для запущенных приложений. Кстати, у меня в Опере (облегченной,~210кб) хип через 0 сначала около 750кб, но после долгого хождения бывало и больше 900кб- до этой проги - ява- машина сама добавляет
*
SkliF
27 мая 2008 в 16:07
Xodok, у каждого приложения своя потребность в хипе, так? Если бы куча делилась, то в каждой запущенной проге был бы свой размер свободного хип. Но ведь это не так. Во всех запущенных он одинаков. Вот поэтому я и думаю, что ничего не делится. Ну как если бы в склейке. Или есть нюансы, в которые я не въезжаю?
27 мая 2008 в 16:11 / SkliF (1)
*
Xodok
27 мая 2008 в 17:13
Sklif, да не одинаков он, а зависит от веса/потребности запущенного приложения, мин.1048кб, в полной Опере (или с набитым кэш) весом больше ~250кб хип уже около 1,5м. Получается, что после добавления к Опере мусорного балласта ява-машина выделяет ей больше хипа, сразу после удаления мусора свободной оперативы становится больше, но при следующем шаге видно, что ява-машина оптимизирует по своему.
27 мая 2008 в 17:16 / Xodok (1)
*
Malcolm
27 мая 2008 в 18:04
Sklif, почему же это он среди всех запущенных одинаков? Нет, в том-то вся и фишка, что для каждого приложения показывается максимальный размер heap доступный для данного конкретного приложения и занятый объем для данного конкретного приложения. Иначе все приложения начали бы сходить с ума от того, что они только запустились, а уже почему-то занято до фига памяти.
*
BlackStrip
19 июн 2008 в 11:36
Прога непонятно для чего. Ява выделяет хип-память для каждой проги свою. И одна прога влиять на другую не может. И управлять прога (принудительно чистить, смотреть скока всего и скока свободного) хипом может тока своим. Другое дело что если автоматический garbage-collector спит, то мож пока вы там проги переключаете с запущенной проги на этот мемори-менеджер - то мобила на всякий случай запускает garbage-collector раньше положенного срока, и он чота чистит =) типа просто совпадение. это шарлатанство =)) ну или просто мечты о неком "чистильщике" памяти. это как проги для бесплатного инета, тоже прям прога с кнопкой "получить бесплатный инет". и кажетца щас нажмешь - и вуаля, всех обманул =)
Для полноценного использования разделов сайта войдите или зарегистрируйтесь.
Приложения Java | Загрузки Seclub | Форум | Главная
18+ © Seclub.org 2003-2025