0

I need to estimate the memory consumption of my web application, both in PermGen and Heap memory. I have run VisualVM and saw the neat graphs and the overwhelming list of objects but how can I discriminate between what's the proper server and my application?

Somehow noting the number before deployment and after, then subtracting seems to simplistic to be a good estimation.

Also, how do people estimate by user amount? Like, how much more memory do I need for each batch of users?

And, does PermGen actually oscillate with the number of users? From what I've read, PermGen stores metadata for classloaders and such so somehow sounds like the number of users wouldn't matter for this stat.

Any input would be appreciated.

M Rajoy
  • 4,028
  • 14
  • 54
  • 111

1 Answers1

0

The memory consumption of your application could be estimated when you put you application under stress, using tools like JMeter, simulating real users. JVM also have a warm up period, so you will need to wait and see how you application recover from a stress situation. Glassfish has some tutorials about performance tuning. Permgen could oscillate if your application uses much reflection, or many classes are loaded in runtime. Also, JVM has a lot of parameters,so you need to see what parameters you should use based on the nature of your application. Here you can find some good points to start JVM perfomance tuning.

Ramon Pires
  • 1
  • 1
  • 1