
17.10.2016, 16:43
|
|
|
Modus ponens
модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
|
А что такое "потребление памяти приложением"?
- Это вся память выделенная ядром процессу приложения?
- Это вся память которую код приложения чем-нибудь заполнил?
- Это вся память выделенная ядром процессу приложения, учитывая неиспользованые участки выделенных страниц?
И т.д.
По поводу почему приложение умирает:
Однозначный ответ может быть только у Адобовских разработчиков. Кроме них никто не знает как работает флешевый аллокатор. Но если строить догадки: у флешевой виртуальной машины должен быть свой аллокатор. Для него используется какая-нибудь структура данных, типа той же кучи. У нее могут быть определенные ограничения на аддресацию. Т.е, например, при достижении 1.5 Гб памяти в куче нужно сделать реаллокацию т.как она достигла предельного заполнения. Если это обычная куча, то каждая такая реаллокация увеличивает ее в два раза. Ну и возможно система просто не готова выделить 3 Гб памяти. Ну и, возможно, что аллокатор флеша не допускает работы со свопом (потому что так проще жить).
Когда-то давно мне на глаза попадался документ о граничных значениях для разных параметров флешевой виртуальной машины. Возможно, если поискать, там будет описано сколько памяти может выделить одна машина.
__________________
Hell is the possibility of sanity
|