Nick Kew wrote: >> (Note, incidentally, that the picture might be different for a Java >> server, where the Java byte code for the application and a bunch of >> overhead objects might well fall into that sharable bucket.) > > Would that apply to similar bytecode like Python, which is commonly > run in-process in Apache?
Don't know, maybe. It would depend on how much of the memory is common between the various servers. Looking again at my comment, the effect I'm imagining would depend a great deal on whether they're all using the same application, and then on whether you know that (and initialize the application) before you fork the servers. It would also depend on how memory happens to be laid out - if it happens that sharable (read-only after initialization) and unsharable (written after initialization) data get interleaved, you might end up with few pages shared. If you initialize the application and *then* fork, I'd expect a great deal of sharability, for any development environment. If, on the other hand, you fork and then initialize the application, probably none of it will be sharable. (Environments that precompile the program and save it in a file might end up sharing that part, but not data or dynamically compiled code.) It should be possible to determine this sharability today, if you're already forking new processes for each customer. The zone_enter() won't affect that. Unfortunately, I don't know how to ask the virtual memory subsystem how much COW memory is shared between two processes. Sorry, that's a little rambling. I'm still asleep :-) _______________________________________________ zones-discuss mailing list zones-discuss@opensolaris.org