Существует ли максимальный номер, к которому можно определить Xmx при попытке увеличить jvm память?

Вы можете установить культуру по умолчанию со следующим свойством:

CultureInfo.DefaultThreadCurrentCulture

Но это не будет работать в Android. Итак, для Android вам нужно настроить культуру каждый раз, когда действие возобновляется. Вы можете добавить базовую активность, например:

internal class MyBaseActivity : Activity
{
    protected override void OnResume ()
    {
        base.OnResume ();

        // Here you would read it from where ever.
        var userSelectedCulture = new CultureInfo ("fr-FR");

        Thread.CurrentThread.CurrentCulture = userSelectedCulture;
    }
}

Найдено на форуме xamarin: https://forums.xamarin.com/discussion/9764/how-to-set-a-global -cultureinfo-для-ан-приложение

44
задан Michael Myers 21 January 2009 в 01:37
поделиться

4 ответа

Да, существует максимум, но это системно-зависимо. Попробуйте его и посмотрите, удвоившись, пока Вы не поразите предел, тогда ищущий вниз. По крайней мере, с Sun JRE 1.6 на Linux Вы становитесь интересными, если не всегда информативные сообщения об ошибках (peregrino нетбук рабочая человечность на 32 бита с RAM 2G и никакой подкачкой):

peregrino:$ java -Xmx4096M -cp bin WheelPrimes 
Invalid maximum heap size: -Xmx4096M
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.

peregrino:$ java -Xmx4095M -cp bin WheelPrimes 
Error occurred during initialization of VM
Incompatible minimum and maximum heap sizes specified

peregrino:$ java -Xmx4092M -cp bin WheelPrimes 
Error occurred during initialization of VM
The size of the object heap + VM data exceeds the maximum representable size

peregrino:$ java -Xmx4000M -cp bin WheelPrimes 
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

(experiment reducing from 4000M until)

peregrino:$ java -Xmx2686M -cp bin WheelPrimes 
(normal execution)

Большинство сам объяснительное, кроме-Xmx4095M, который довольно нечетен (возможно, сравнение со знаком/неподписанное?), и что это утверждает, что зарезервировало 2686M на машине на 2 ГБ без подкачки. Но это действительно подсказывает, что максимальный размер является 4G не 2G для VM на 32 бита, если ОС позволяет Вам обращаться так ко многому.

33
ответ дан Pete Kirkham 4 August 2019 в 17:30
поделиться

Я думаю, что JVM на 32 бита имеет максимум памяти на 2 ГБ. Это могло бы устареть все же. Если я понял правильно, Вы устанавливаете-Xmx на средстве запуска Eclipse. Если Вы хотите увеличить память для программы, Вы работаете от Eclipse, необходимо определить-Xmx в "Выполненный-> конфигурации Выполнения..." (выберите класс и откройтесь, вкладка Arguments поместила его в область аргументов VM), меню, а НЕ на запуске Eclipse

Редактирование: детали Вы попросили. в Выполнении Eclipse 3.4

  1. -> Конфигурации Выполнения...

  2. , если Ваш класс не перечислен в списке слева в поддереве "JAVA-приложения", нажмите на "New Launch configuration" в левом верхнем углу

  3. справа, вкладка "Main" удостоверяются, что проект и класс являются правильными

  4. , выбирают вкладку "Arguments" справа. у этого есть две текстовых области. каждый для аргументов программы, которые входят к args [] в массив, предоставленный Вашему основному методу. другой - для аргументов VM. помещенный в тот с аргументами VM (понижают один iirc), следующее:
    -Xmx2048m

    я думаю, что 1024 м должны более чем достаточно для того, в чем Вы нуждаетесь хотя!

  5. Нажимают Apply, затем Нажимают работу Run

  6. Should:)

5
ответ дан Gray 4 August 2019 в 17:30
поделиться

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

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

1
ответ дан kgiannakakis 4 August 2019 в 17:30
поделиться

Я думаю, что это около 2 ГБ. Хотя ответ Пит Кирхам очень интересен и, вероятно, держит правду, я выделил вверх 3 ГБ без ошибки, однако он не использовал 3 ГБ на практике. Это может объяснить, почему вы смогли выделить 2,5 ГБ на RAM 2GB без помещения помещения. На практике он не использовал 2,5 ГБ.

1
ответ дан 26 November 2019 в 21:30
поделиться
Другие вопросы по тегам:

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