Java memory usage difference between Linux and Windows

javamemory-management

When running the same java process (a jar) under Windows and Linux (Debian) the Linux proces uses a lot more (12MB vs 36 MB), just from starting up. Even when trying to limit the heap size with -Xmx/Xms/etc, it stays the same. Nothing I try seems to help and the process always takes 36 MB. What explains this difference between Linux and Windows and how can I reduce the memory usage?

EDIT:
I measure memory with the windows task manager and Linux top command.
The JVM are the same and they are both 32-bit systems.

Best Answer

I recommend using a profiler such as VisualVM to get a more granular view on what's going on.