Hi, If I remember rightly, the max heap size was 16Mb during the 1.0.x days of Java. The rationale I heard/read was to set a low base memory, so application would be designed to run on most 'modern' computers. Of course, back then, there was a lot of discussion about using Java for Applet and embedded development. 64Mb seems to be ridiculously low for current apps, especially server side. How many times have you added - mx??? to your apps server VM options?
I would like to see a decent API for controlling the allocation of memory. Cheers, Jason On Jan 1, 3:45 am, "Matthew Beldyk" <[email protected]> wrote: > My impression was that a fixed size of the heap was designed to keep > the program from using all the ram on the machine. Personally, I'd > rather have a single program crash than have an entire machine come to > it's knees (I no longer have any machines running a single application > unless they are running some low level embedded operation, and that's > a completely different beast). > > I will admit, 64M is a little on the low side for modern desktop > applications (this from a guy with 8 gigs or ram on his workstation, > so take that statement with a grain of salt). But 64M is actually on > the large side some embedded systems. I'm going to guess that 64M was > decided upon as a good place to start; I imagine it would cover most > usual programs. > > Configuring the maximum heap size is also fairly trivial (the -Xms and > -Xmx flags, I believe). And having a ballpark idea how much ram your > program should use should be a basic benchmarking test before you put > something into production (I've been guilty of missing that test > before and won't make that mistake again). > > All this being said, I have been burnt by this with tomcat before when > we forgot to configure this correctly and ended up with some very > strange behaviors (suddenly some of our applications could no longer > find libraries that tomcat was dropping out of the heap; I don't know > the exact details as I was on vacation that week and this is all > hearsay). > > In my opinion, the fixed max heap size is a required annoyance. > Unless I were better able to manually manage memory usage in java, I'm > disinclined to allow program's ram usage to grow unchecked. > > -Matt > > On Wed, Dec 31, 2008 at 10:54 AM, [email protected] > > <[email protected]> wrote: > > > I've never understood why sun chose to have a "max heap size" setting > > and default it to 64 megs. To figure out what your max heap size > > should be you pretty much have to use trial and error. This makes > > java inherently unstable. I can't count the # of times I've had > > processes crash with an OutOfMemoryException because the heap size is > > set either to the default 64 meg or too low. > > > Why not do what every other runtime does and just allocate memory as > > needed? And what exactly does the max heap size setting do anyway? > > -- > Calvin: Know what I pray for? > Hobbes: What? > Calvin: The strength to change what I can, the inability to accept > what I can't, and the incapacity to tell the difference. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/javaposse?hl=en -~----------~----~----~----~------~----~------~--~---
