процесс Java на окнах, используя меньше памяти, чем указано в -xms? - PullRequest
3 голосов
/ 14 октября 2010

Я запускаю свой сервер командой "java -xms 1280m -xmx 1280m".На машинах Linux это работает нормально, и я вижу, что процесс использует почти такой же объем памяти.На компьютерах с Windows, однако, я вижу, что процесс Java использует гораздо меньше 1280 метров - около 500-600 метров.Я собрал эти данные из диспетчера задач Windows, если это имеет значение.Две машины Windows, которые я проверил, являются серверами Windows 2003 и имеют 2 ГБ и 3 ГБ ОЗУ соответственно.Я всегда думал, что указание начального размера кучи с помощью -xms заставит java использовать как минимум столько памяти.Я ошибся?Или это особенность Java в Windows?

Ответы [ 4 ]

2 голосов
/ 15 октября 2010

Посмотри ближе. Диспетчер задач часто вводит в заблуждение - по умолчанию он не показывает , сколько памяти выделено процессом. Скорее, то, что показано как «используемая память», является объемом физической памяти, подкачанной для этого процесса. В меню «Вид» выберите «Выбрать столбцы» и добавьте «Размер виртуальной памяти». Там твоя память. Очевидно, что ваше приложение никогда не использует больше 500-600 м, поэтому оно никогда не будет заменено.

0 голосов
/ 14 октября 2010

В дополнение к тому, что Кевин Д. сказал о капитализации, обратите внимание, что 32-битные системы Windows обычно имеют верхнюю границу для максимального размера кучи.Это имеет тенденцию варьироваться в зависимости от множества факторов, но я часто видел это прямо на 1280 м, которое вы пытаетесь.Я сомневаюсь, что это проблема здесь, но это может быть связанная проблема.

0 голосов
/ 15 октября 2010

Диспетчер задач Windows был разработан для конечных пользователей, а не для программистов.Последние обычно предпочитают Process Explorer (procexp.exe) из пакета Sysinternals.Это в сочетании с vmmap.exe покажет вам точно, что происходит.

0 голосов
/ 14 октября 2010

Наконец-то вернулся к компьютеру и запустил пару быстрых тестов.

На моем компьютере с Windows XP, работающем java -xms, выдает Unrecognised option

При запуске java -Xms я получаюinvalid intial heap size, который является правильным, поскольку я не даю никакого значения, но он принимает и распознает эту опцию.

Так что, похоже, мой комментарий был действителен, и вам нужно отсортировать регистр в вашей команде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...