On Fri 06 Jul 2007 at 01:10PM, Jeff Victor wrote:
> >>
> >> - We are planning to test 1000 nodes (=containers) on a 2 GB RAM
> >> Athlon Dual Core 4.2 GHz machine. Is that possible?
> I'll make a stronger statement than JeffS: a Solaris container
> requires at least 20MB of RAM to boot and start up even the most basic
> services.  Running all of them *simultaneously* is unlikely to work:
> the system would be paging to disk all of the time.

RAM is definitely going to be a big issue.  There's also the fact that
JVMs tend to create quite a lot of threads.  Some of the java instances
on my machine have 25 threads.  25*1000 = 25000, which is doable, but
a lot.  Remember that each of those threads has a stack.  If each
stack is 16K (pretty conservative) then that's 400MB of java thread
stacks alone-- never mind the heap space consumption.  You might
be able to limit that with JVM options, I don't know.

> - Each container should be a sparse zone that contains no application
> but a JRE. How do I create one of these?

To expand on what Jeff Savit said: You really want to minimize
your zone using SMF.  Turn off inetd and most other system services.
Use 'svcs -p' to spot the ones which you don't want.  You might want to
keep nscd if your p2p app does a lot of name service lookups, but most
other daemons can go: cron, rpcbind (probably), automountd (unless using
NFS), sac, syslogd, sshd, sendmail.  You'll wind up with various
parts of the system not working, but your memory footprint will really

Once you have a very minimized zone, then you can clone lots of
copies of it.  If you are running Solaris Nevada, and using ZFS to
store your zones, zones will use zfs cloning to do this very rapidly.


Daniel Price - Solaris Kernel Engineering - [EMAIL PROTECTED] - blogs.sun.com/dp
zones-discuss mailing list

Reply via email to