Frontend Instance Class (Default F1? 128MB?) All my instances have been running around 256MB

391 views
Skip to first unread message

Scott Murphy

unread,
Dec 13, 2011, 8:03:25 PM12/13/11
to google-a...@googlegroups.com
Hi, I am confused.  Did the default used to be F2?  All my instances run > 128MB of ram. How is this possible?  Does this mean that part of the memory is swapped to disk?  If I choose a larger instance class say (F4), will my Java Heap size automatically change to allow up to 512MB heap? Or is this extra memory not usable by the app?

0.0000.0 ms108112:44:46170.1 MBytesResident IconResident
0.0000.0 ms27701 day, 21:07:27190.0 MBytesResident IconResident
0.0171905.0 ms14101 day, 5:35:31182.7 MBytesResident IconResident
0.4331114.4 ms402102:49:43239.3 MBytesDynamic IconDynamic
0.0000.0 ms109701:00:15203.4 MBytesDynamic IconDynamic
0.0000.0 ms12500:12:01197.4 MBytesDynamic IconDynamic
0.2331295.7 ms48500:22:12192.7 MBytesDynamic IconDynamic
0.4671081.0 ms696734:08:09245.1 MBytesDynamic IconDynamic
0.3831486.6 ms367314:03:36243.4 MBytesDynamic IconDynamic
0.0000.0 ms641304:15:35243.5 MBytesDynamic IconDynamic
0.0503124.3 ms600:02:07149.5 MBytesDynamic IconDynamic
0.05030326.0 ms200:00:40136.2 MBytesDynamic IconDynamic
0.5671189.9 ms551503:33:30244.8 MBytesDynamic IconDynamic


Per

unread,
Dec 14, 2011, 3:03:12 AM12/14/11
to Google App Engine
I'm confused by these changes too. Although I'm happy to have choice
(pay more for more speed sounds awesome) this leaves an odd
aftertaste After all the communication issues around the recent
pricing changes, shouldn't it be quite obvious that people will ask
you about the details anyway? Wouldn't it help to spend a couple
minutes upfront, explaining this change/new feature better? Surely you
have spent many hours working on the implementation, why not share
some additional insight?

"By default, all applications use the basic frontend instance setting
of 128MB memory and 600MHz CPU."

So, if F1 is what we've been using the past months, why don't you just
say so. And if it happened to be F2, then people will find out
eventually, and you should say to too.

I can see a mysterious drop in performance of my application since the
22nd of November. I have not analysed it yet (it only occurred to me
now, since I was busy), but it would help a lot if you'd take the
guesswork out of these announcements -- because otherwise I am
somewhat tempted to believe that we've been on something similar to F2
and will now have to pay more to achieve the same old performance.
Please tell me it's not like this, and I'll shut up instantly :)

Cheers,
Per

On Dec 14, 12:03 pm, Scott Murphy <sc...@pixoto.com> wrote:
> Hi, I am confused.  Did the default used to be F2?  All my instances run >
> 128MB of ram. How is this possible?  Does this mean that part of the memory
> is swapped to disk?  If I choose a larger instance class say (F4), will my
> Java Heap size automatically change to allow up to 512MB heap? Or is this
> extra memory not usable by the app?
>
> 0.0000.0 ms108112:44:46170.1 MBytes[image: Resident Icon]Resident0.0000.0 ms
> 27701 day, 21:07:27190.0 MBytes[image: Resident Icon]Resident0.0171905.0 ms
> 14101 day, 5:35:31182.7 MBytes[image: Resident Icon]Resident0.4331114.4 ms
> 402102:49:43239.3 MBytes[image: Dynamic Icon]Dynamic0.0000.0 ms109701:00:15203.4
> MBytes[image: Dynamic Icon]Dynamic0.0000.0 ms12500:12:01197.4 MBytes[image:
> Dynamic Icon]Dynamic0.2331295.7 ms48500:22:12192.7 MBytes[image: Dynamic
> Icon]Dynamic0.4671081.0 ms696734:08:09245.1 MBytes[image: Dynamic Icon]

> Dynamic0.3831486.6 ms367314:03:36243.4 MBytes[image: Dynamic Icon]Dynamic
> 0.0000.0 ms641304:15:35243.5 MBytes[image: Dynamic Icon]Dynamic0.0503124.3
> ms600:02:07149.5 MBytes[image: Dynamic Icon]Dynamic0.05030326.0 ms200:00:40136.2
> MBytes[image: Dynamic Icon]Dynamic0.5671189.9 ms551503:33:30244.8 MBytes[image:
> Dynamic Icon]Dynamic

Jon McAlister

unread,
Dec 14, 2011, 1:31:36 PM12/14/11
to google-a...@googlegroups.com
Yes, F1 is what all frontend instances were using prior to the 1.6.1 release.

Scott, the issue with your instances dashboard is that our accounting
and enforcement of java memory is different than for python, and this
implementation detail is "bleeding through the interface" here.

Specifically, for java, the memory limit
(http://code.google.com/appengine/docs/java/config/backends.html#Instance_Classes)
is what we use as the jvm heap size. However, here the admin console
is listing the process memory usage. These two are not the same thing.
The java process size is usually higher than the jvm heap size, but
usually by a small and relatively stable amount (e.g. 10%). So, in
this case, the jvm heap size is 128MB, and the process size is larger
(and that is what is listed on the page). When you choose a larger
instance class, new instances will be configured with larger jvm heap
sizes.

> --
> You received this message because you are subscribed to the Google Groups "Google App Engine" group.
> To post to this group, send email to google-a...@googlegroups.com.
> To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
>

Jon McAlister

unread,
Dec 14, 2011, 1:33:10 PM12/14/11
to google-a...@googlegroups.com
Sorry, that number 10% was chosen arbitrarily and not based on hard
data. The point was just that there is overhead but that is not
something we are charging for. The instance class size for java
determines the jvm heap size.

Scott Murphy

unread,
Dec 14, 2011, 4:07:12 PM12/14/11
to google-a...@googlegroups.com
Thanks for clearing that up Jon! I was getting scared for a minute but it is nice to know my app could run in a 128 MB heap :)

doright

unread,
Mar 19, 2012, 4:32:25 PM3/19/12
to google-a...@googlegroups.com
I'm hoping its not too late to revive this thread.

I still don't understand.  Specifically, in java, what happens when my instance memory usage surpasses an instance limit.  I'm running F1 and my instances tend to settle around 160MB, sometimes a little higher.  Do they simply sit there and not get sent any requests?  Are they shut down - doesn't seem to be the case.  If they still serve requests what is the incentive for upgrading instances?

thanks for any help,

> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to google-appengine+unsubscribe@googlegroups.com.

Andreas

unread,
Mar 20, 2012, 10:02:34 AM3/20/12
to google-a...@googlegroups.com
the instances will restart. you can see how long every instance was up on the instances screen in the admin

To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/FVYYa-MKn0AJ.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.

doright

unread,
Mar 20, 2012, 4:42:10 PM3/20/12
to google-a...@googlegroups.com
ok, thanks, but there is clearly quite a bit of tolerance here. (probably due to the process vs heap sizes mentioned in the OP)

I've frequently seen instances of "size" 163MB sitting happily in the instance list.  It would be nice to know what is the actual trigger point.

Does this include any data I have in Memcache or is that counted externally from my instances?

many thanks
Reply all
Reply to author
Forward
0 new messages