/ / Как да се ограничи създаването на JVM? - java, jvm, купчина памет

Как да ограничим създаването на JVM? - java, jvm, купчина памет

Създадох следния клас и бях на 15 терминала с команда "java -Xms500m Class1".

Очаквах това да не ми позволи след 4 или 5отделни екзекуции. Очаквах нещо подобно да не може да създава повече JVM, но всички програми се изпълняват. Ако всяко създаване на JVM изисква 500Mb първоначална памет на купчината (моята RAM е 2GB), тогава максималната граница на създаването на JVM трябва да бъде четири.

public class Class1
{
public static void main(String[] args)
{
int i=0;
while(true)
{
try
{
Thread.currentThread().sleep(100);
System.out.println("hi-"+i);
}
catch (InterruptedException e)
{
}
i++;
if(i == 1000000)
{
break;
}
}
}

Благодаря, Amaresh

Отговори:

4 за отговор № 1

-Xmx е максимален размер на купчина, -Xms е първоначален купчина. виждам тук за повече информация относно правилното задаване на размера на купчината.


2 за отговор № 2

Вие сте в състояние да създадете JVMs с натрупана купчина по-големи от физическата ви памет, поради виртуална памет.

Както в Unix, така и в Windows, защото твърдият диск еизползван като памет, можете да създадете 4GB + sizeof (пространство на твърдия диск, предназначено за използване като памет) на JVMs. Така че, ако имате 4GB RAM и сте назначили 2G от вашия твърд диск, за да бъдете използвани като памет, можете да създадете 12 JVMs, използвайки java -Xmx500 -Xms500.

В Linux пространството за размяна се използва като памет. В прозорците размерът на диска, който ще се използва като памет, може да бъде конфигуриран на System Properties->Advanced->Performance->Settings


1 за отговор № 3

Опитайте да използвате -Xms500m както и. Това ще зададе първоначалната памет.

Набрахте "максималната" памет - но кода ви изобщо не използва много памет.

Вашата операционна система вероятно има и виртуална памет, така че ще излезе малко повече от 2GB.

Също така, не забравяйте, че 500m е размерът на купчината. Действителният JVM ще отнеме малко повече памет от самата купчина.