harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr." <g...@pobox.com>
Subject Re: [drlvm] Class unloading support
Date Fri, 27 Oct 2006 15:10:24 GMT

Rana Dasgupta wrote:
> My knowledge in this area is limited. But my understanding was that web 
> servers and other similar hosts recycled processes periodically as 
> standard procedure, thereby tearing down all associated resources. 

Yes, but that has nothing to do with what would be happening in the app 
server the web server talked to, if one had an architecture where a web 
server "fronted" for the app server.

> So 
> classes loaded, but not used for a while went away anyway; 

Nope - they aren't loaded in the context of the webserver (when using 

> this level of 
> resource management was not really urgent. I know that IIS does this, I 
> am not sure about httpd. I am not sure about other host environments.

But a process fork model (or thread model) of a webserver has nothing to 
do with what's going on in the VM.

I'm talking about servlet engines and app servers like Tomcat and 
Geronimo which have nothing to do with httpd.  Architecturally, they are 
separated from the web server (unless you don't use an external 
webserver, and just use the httpd connector in tomcat) and are separate, 
independent processes.

     httpd  <------>  Tomcat

The java-based app servers are long running processes, running for weeks 
or months.  We need to do clean class unloading.


> On 10/27/06, *Geir Magnusson Jr.* <geir@pobox.com 
> <mailto:geir@pobox.com>> wrote:
>     Rana Dasgupta wrote:
>      > Aleksey,
>      >   I had a couple of questions.
>      >   You state that DRLVM does not implement the class unloading
>     optimization,
>      > and this may create memory pressure on some applications that
>     load many
>      > classes. Do we have a real case / example where an application is
>     stuck for
>      > insufficient memory because it uses a lot of classes initially
>     and then
>      > stops using them, but these are not unloaded? One can imagine a
>     web browser
>      > doing something like this. Is a web browser a typical use case
>     for the
>      > Harmony JVM?
>      >
>     If I understand what you're asking correctly, you'll find this pattern
>     in servlet engines or J2EE servers, where deployed apps can be dumped
>     and reloaded repeatedly either during development or during production
>     deployment, w/o taking the server down.
>     geir

View raw message