"micael" <[EMAIL PROTECTED]> wrote:

> What operating system do you prefer, Pier?

We use Solaris both for Intel and Sun platforms... First reason being is
that we _know_ how that OS works, it's much more tuneable on live systems,
and much easier to configure when you know what you're doing...

Especially relating to Java, Solaris 8 was our platform of choice because of
threading support. Linux threads behave like processes (you see them in "ps"
for instance), that said it doesn't only have a "visual" disadvantage (that
same output can be generated on Solaris with "ps -AfL"), but also a
practical one... Limits and signals...

First of all, threads-as-processes are vulnerable to signals, and therefore,
given a bug in the VM (let's say a SEGV), what _can_ happen that only that
process dies (instead of the whole JVM set of processes), I've seen that
happening. Good point about that is that your Tomcat is going to be up, bad
point about that is that it's going to really mess up the JVM internals
(that's why Thread.kill() has been deprecated, and plus other random
reasons). Short story, threads-as-processes are much weaker than
threads-as-threads because of their behaviour towards the OS kernel...

Second point about Solaris 8 is the _two_ different configurations of
threads you can have... One is the default one, and works, but in some cases
(fixed number of threads, usually pooled, yadayadayada) a nice thing such as
"LWP" threads (used by pre-binding the /usr/lib/lwp/libthread.so in Java)
can come _really_ handy and delivers a _lot_ more performances... (this
helps a _lot_ also with Apache 2.0/worker).

Third reason, limits... In case of highly loaded environments, the kernel
will stop creating processes (and therefore threads under Linux) once the
process limit is reached, threads-as-threads don't suffer from that because
they are "nested" within their process scope, and the limit is _much_
higher.

File descriptor limits, memory limits, swapping, and so on, come for free
for us using Solaris, and it's _so_easy_ to tweak your network parameters on
live systems by tweaking the kernel with NDD (file descriptors are in
CLOSE_WAIT, no problem, set an NDD variable, and you're done)...

Plus, what the heck, Solaris 8 minimal install is probably 20 packages and
100 Mb for both 32 and 64 bits, while if you install RedHat, you can never
get below 400 Mb! :-) I love my disk space, and less code, less chances for
a bug, right??? :-)

It works for us, it has been working for ages, and we actually replaced all
our old Linux/x86 installations with Solaris8/x86.

That's production... For development, _of_course_ I use MacOS/X 10.2.2 which
is by far the best desktop on the planet... I've had a short test with an
X-Serve and load, performed allright (far better than a same-price Dell
box), but it went nowhere because at the same time we "inherited" a lot more
Sun Hardware for "free" (roughly! :-) so, we decided that we wanted to reuse
all those nice UltraSparc machines! :-)

    Pier


--
To unsubscribe, e-mail:   <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org>

Reply via email to