The line of succession for me, starting with my hobby/business UNIX
installs on Intel was:
Beginning 1991-1992, Consensys SVR4 - Used up until around 1995.
UUCP and USENET. Ran a BBS off of this and was a USENET node
"kilowatt" during that time. I'm in NIXPUB. Buying this version of
UNIX was for a joint business venture I went into with a friend, and
we needed a decent UNIX platform to work with without a huge
hardware cost. Very happy with it, but it did have some bugs. Wound
up getting a few UNIXware drivers with fixes that took care of many
of the issues mostly to do with the Adaptec 1541 SCSI card.
I toyed with Linux around this time, but there was a local BBS guy
who was such a fanboy that I was turned off by it - and there was NO
advantage to it over SVR4 at that time. All I saw was a bunch of
stuff glued together that was not "real" UNIX. It also offered
almost no possibility of developing for SunOS or the up and coming
Solaris 2.x
During the above time, I also ran a Sparc-IPC with SunOS 4.1.2(3?)
on it so it wasn't for lack of having a decent hardware platform to
work with. I did a lot of SunOS development on it, and wrote stuff
that I could compile it on both SVR4 and SunOS
Around 1994-1995, started getting into FreeBSD - which I loved. Ran
that from 1995 or so right up until around 1999 as my main
firewall/router on one machine, and file server on another. Device
support was better than Consensys, and I could fix any bugs I found
myself if I had to - but never really had to. And, it was much like
SunOS 4, if you squinted and tilted your head slightly.
Also around that timeframe, I think I toyed with Solaris 2.4 or 2.5
on x86, but I know I that I went fully into Solaris x86 around the
late-1998/early-1999 with Solaris 2.7
I'm not entirely sure when it was but at various times I checked out
Linux on test machines. I had instances where I thought "oh boy!
this is cool" but then, my installed base of computers and
development environments meant having to go whole-hog into Linux for
at least one of my machines and I had too much invested in them in
terms of time.
At one point, I decided I needed to find an alternative to my main
workstation (running on Solaris 7 or maybe even 8 by this time) and
turned back to Linux for it's plethora of device drivers and
third-party applications - mostly audio/video players, Adobe Flash,
Acrobat Reader, that sort of thing.
This was the time of the turning-point for me for Linux, and it was
turning AWAY from it for a long time. Still haven't recovered from
it.
I found that while running a decent-sized machine at the time -
maybe it was 64 megs of RAM, maybe it was even more, I really don't
remember. I'd have to go back and look at my old archived hardware
to find out.
Suffice it to say, I had a machine that made a GREAT Windows NT 4.0
machine. Did everything I wanted, plenty of applications ran on it,
etc. So, I started to look at Linux again, because I detested
Windows at the time. Installed it, early kernel 2.6 version, it ran
great, did everything. Netscape, Flash, Acrobat Reader, some word
processing (don't remember what), etc.
Problem was, after running a while, it got really REALLY slow and
kept banging the disk for long periods of time. Took about 5 seconds
to realize what it was. It had swapped out most of the application
pages to disk. Click on a link in Netscape, chunka-chunka-chunka. Go
to a shell and try to do an ls, chunka-chunka-chunka.
Found some references for kernel 2.4 that you could limit the amount
of disk cache. So went to try that, 2.6 didn't have that anymore. So
I went online, forget where, maybe it was a mailing list, maybe it
was a USENET group, I really don't remember.
I remember asking why the HELL did they remove that when it so
obviously caused the system to get slower than dog-shit in a snow
storm. First, it was "you need more RAM" - yeah, I never like the
"go buy more hardware answer" neither for myself nor my customers.
Strike one. Continue the discussion, and got some answer like "We
know better than you do about how to deal with virtual memory, go
away". This, after having worked with SunOS, Solaris, HP/UX, IBM
AIX, SCO, SGI, and everything else under the sun that did NOT DO
THIS. The discussion continued like that a little bit, and I turned
around, installed Windows NT on the machine, and never looked back
until the past 5-6 years where I've been forced to deal with Linux.
Of course, now, there are tunables to alter the "pressure points"
and timing of how the kernel decides that it needs a page for disk
cache more than the application does.
By default Oracle Linux will still swap the Oracle database itself
out to disk when it thinks it needs more disk cache. That blows.
Answer is to open the Oracle on Linux best practices PDF and set all
the tunables to different values, and VOILA - now it only swaps out
once in a while. Of course one of those is "swappiness" which for
years seemed to do absolutely nothing.
So now, it's OK - when a company I consult for eventually brings up
"We can run this on Linux, right? We need to cut costs" - My answer
is "yes" even though I don't want to. But when you consider a SPARC
or IBM AIX box compared to an Intel Linux box, it's really a
no-brainer. My only caveat when they do this is: If you had X amount
of RAM in your existing system, and you're not making any
substantial changes, double it for the Linux box. This tends to
relieve the pressure to swap out, but it still doesn't completely
remove it. And then, of course, I send them a document with all the
tunables I've gathered.
Anyway, long winded, rambling story, but I think you all might get
the idea why for ME it wasn't the answer.
After that period of time, I upgraded some of my hardware to newer
dual-core AMD, and started running Solaris 10 and used ZFS for the
first time in my "production" environment. What a blast ZFS has
been. Linux doesn't come out-of-the-box with ZFS support? Oh well...
see ya! :)
I now have over 56TB of multiple raidz2 arrays spread over 46 disks
or so all tied to a Solaris 11.3 machine and run multiple Solaris
guests in VMware. Still not going Linux except when I need to
test/develop stuff for customers and that's always on a VMware
guest.
zfs_arc_max for-the-win. And now, for Solaris 11.3,
user_reserve_hint_pct
- even better.
Yes, I grew up to be a "real UNIX" snob. Now, at 51 years old, I'm
confident I made the right choice. I know enough about Linux to make
sure my customers are well taken care of. But for my personal use,
if I have to, I'll go back to FreeBSD and ZFS before I run Linux.
Hopefully Oracle does the "right thing" with Solaris when it's time.