У меня есть новый 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. Я задаюсь вопросом, почему он использует гораздо больше, чем раньше.