Раз уж лезете задавать вручную ограничения, то надо и минимум указывать.
-Xms256m -Xmx2048m
256 - начальная.
2048 - всего.
У вас начальную jvm выбирает сама и не может, потому как вы предел сами указали.
И да, 512 это мало. Нужно размер кучи под 4 гб выдавать, т.е. так:
ms512
mx4096