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 httpd).

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.

geir



On 10/27/06, *Geir Magnusson Jr.* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> 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


Reply via email to