Java выделяет дополнительные 2 Гб памяти

У меня есть новый VPS для запуска некоторых программ Java, которые я и некоторые товарищи сделали. Я начинаю процесс с такой строки:

java -Xmx512M -jar program.jar

На нашем старом VPS вы могли использовать команду «top», чтобы увидеть, сколько виртуальной и резидентной памяти используется. Он будет использовать около 600-700 МБ виртуальной памяти. Теперь на нашем новом VPS с той же командой виртуальная память всегда будет на ~ 2 ГБ больше, чем значение -Xmx. Таким образом, вместо виртуальной памяти около 600-700 МБ вместо 2700-3000 МБ.

Старый VPS работает под управлением CentOS 5.7, а новый — под управлением CentOS 6.2. Оба работают под управлением JRE 1.7u3 64bit.

Почему это так и как это исправить?

редактировать: вверху

PID   USER    PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
27645 pyro    20   0 3003m 270m  10m S  5.0  1.7   1:19.18 java -Xmx512M -jar cserver.jar

другое редактировать: Я не задаюсь вопросом, почему виртуальная память использует больше памяти, чем указано в командной строке java. Я задаюсь вопросом, почему он использует гораздо больше, чем раньше.

6
задан Reed D. 12 March 2012 в 09:52
поделиться