Сокращение использования памяти Java процесса

Обновить

December 2018

Просмотры

860 раз

2

Я написал заявление обертку в C # NET, который работает, когда файл .jar работает, закрывается, когда файл .jar закрывается, и т.д. Это было в основном для обеспечения нашего веб-панели, чтобы иметь возможность запрашивать исполняемый файл, чтобы узнать, если это было на самом деле работает или нет.

Я видел некоторые другие панели, специально предназначенные для этого программного обеспечения, которые имеют возможность, чтобы уменьшить использование памяти его, когда никто не подключен. Приложение Java (Minecraft), в основном масштабирует использование оперативной памяти на основе размера игрока мира, а не сколько игроков связаны. Когда никто не подключен, то он должен быть прекрасно, чтобы уменьшить использование.

Так есть ли способ уменьшить использование оперативной памяти с программно C # NET для приложения Java?

2 ответы

1

Нет.

Почему бы и нет? Потому что вы не можете контролировать Java-программы таким образом по двум причинам:

  • Вы не можете контролировать то, что JRE делает с им памяти и, как GC работает.
  • Если minecraft.jarзапросы 512MiB ОЗУ, он получает 512MiB оперативной памяти. Вы не можете просто пойти все Hey, there's no one connected so I disallow you to allocate memoryна приложение. Я имею в виду, вы могли бы ... но я не думаю , что вы хотите , чтобы (что вызвало бы исключение и нечетные побочные эффекты).

Редактирование: Единственный довольно простой способ добиться такого поведения было бы изменить программу. Поскольку Minecraft не является свободным / открытым исходным кодом, единственное , что вы можете сделать , это подать запрос об ошибке / функции. Может быть , даже с расширенной информацией и концепции макета о том , как достичь лучшего использования памяти.

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

1

AFAIK, нет никакого способа, чтобы сказать JVM, чтобы дать регулярные память кучи обратно в операционную систему ... кроме говорить, что выйти полностью.