Limiting java application's memory and cpu usage

demotics2002 picture demotics2002 · Feb 10, 2011 · Viewed 36.5k times · Source

Say, "run myApp.jar with cpu=800 and memory=1024"

Ive been doing java programming for many years and it is an embarrasment to ask this question. I don't even know whether this is possible or not. And if so, how?

What I just want know is if it is possible to set a java program's maximum memory and cpu usage. I suddenly thought of this because of I recently started developing mobile apps. I want to know how the app will behave on the device which has very limited memory and processor.

I saw physics engines with demo apps that run on the browser or I can execute on my PC. What if I run them on a mobile device? Will the performance be the same? Rather than developing a sample mobile app to test the library's performance, I'd rather run it with a specific cpu and memory using my PC first.

I tried googling by the way... all i found was monitoring and performance tuning. I may be using wrong keywords.

Answer

bestsss picture bestsss · Feb 10, 2011

you can limit memory usage by -Xmx option and you can limit CPU usage by setting priority of the process and/or CPU affinity.