Память передачи обратно JVM к ОС [дубликат]

Первые 4 шага в значительной степени показывают, как вы должны реализовать его с помощью аутентификации Firebase, если у вас включена настройка Одна учетная запись на адрес электронной почты kbd> (которая по умолчанию равна ) в ваша консоль аутентификации Firebase .

Но если вам нужен этот поток в вашем приложении, я настоятельно рекомендую проверить, есть ли библиотека FirebaseUI с Auth для вашей платформы. Он существует для iOS , Android и Web и последовательно реализует многие общие потоки аутентификации.

19
задан Tamas Czinege 23 March 2009 в 23:27
поделиться

3 ответа

Управлять возвратом "кучи" к ОС, от Java 5 вперед, использование -XX:MaxHeapFreeRatio опция, как описано в настраивающемся руководстве.

Если Вы чувствуете, что Ваш вопрос значительно отличается от этого, укажите как.

15
ответ дан 30 November 2019 в 04:40
поделиться

В первую очередь, System.gc () ничего не мог бы также сделать. Вы действительно не можете полагаться на него, чтобы сделать сборку "мусора" путем, Вы предлагаете.

Во-вторых, Вы захотите контролировать то, что на самом деле продолжается GC при помощи

-verbosegc -XX:+PrintGCDetails 

в Вашем вызове Java. Или при помощи JConsole, который это кажется, что Вы делаете. Но это, System.gc () испугали меня, что Вы считаете неправильную вещь...

Я подозреваю, что, когда Вы говорите, что вторая или третья сборка "мусора" - когда она освобождает память, Вы просто просчитываете сборки "мусора". Запросом к GC не является GC! Так проверьте журналы (интерпретируйте их этот путь), который распечатывает PrintGCDetails.

На самом деле моя проблема состоит в том, что я должен выполнить несколько клиентских сессий CITRIX на сервере, но я хотел бы, чтобы выполнение JVMs на сервере освободило память как можно скорее (у меня есть только немного высоких функций памяти потребления в моем приложении).

В то время как Ваша проблема допустима, решение, для которого Вы идете, является немного теневым. JVM нужен размер "кучи" по точно этой причине - так, чтобы этому можно было гарантировать это пространство для выполнения в. Кажется, что Вы склоняетесь к запуску приложения, затем ожидая JVM для калибровки ее "кучи" вниз, затем запуская другого таким образом, что Вы перебронировали ресурсы на машине. Не делайте этого, потому что это все аварийно завершится, после того как приложение берет больше памяти, чем Вы полагали, что это будет, но на который это наделено правом.

Я полностью полагаю, что Вы не хотите быть "кучей" микро руководящего Java этот путь.

Прочитайте достаточно http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html для понимания поколений и какой торговля offs большей/меньшей "кучи".

7
ответ дан 30 November 2019 в 04:40
поделиться

Я не волновался бы об этом, пока Вы не видите измеримое замедление. Если процессу выделят память, что это не использует, ОС подкачает неиспользованные блоки к диску по мере необходимости.

0
ответ дан 30 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: