[Sussex] Microsoft Windows minimum system's

Steven Dobson steve at dobson.org
Tue Aug 8 13:25:29 UTC 2006


DCB

On Tue, 2006-08-08 at 11:21 +0000, d binderman wrote:
> >Many moons ago when I did the Solaris System Internals course I recall
> 
> Is Linux the same or diffierent implementation to Solaris ?

Different.  IIRC, Solaris works out the swap page it will use when the
RAM page is allocated, Linux clusters dirty RAM pages and writes them as
a block to swap.

> As a side issue, I'd be mildly interested to find out how XP does it.

So am I, but I'm not planing on going on a XP/Vista internals course any
time.

> >(hopefully correctly) that when a application request another page of
> >RAM the kernel not only allocates it a chuck of memory, but also
> >allocates the page in the swap where that page of memory will be written
> >to if needed.  It is built into Solaris that all pages (except for a few
> >used by the kernel) are always backed up by a page somewhere on disk.
> 
> Interesting way to do it. Can't say I've heard of anyone else doing it
> that way, but it's a while since I looked into this.

I remember saying that when Sun switched from BSD to SVR4 part of the
switch over included Sun donating their memory management code to the
SVR4 source.  They hard worked hard on it and it must have been the very
good as SVR4 was the base for a lot of Unixs.  So anyone else that use
the same code pase that Solaris does/did should also do it the same way.

> Does it imply the kernel keeping track of swap pages that it doesn't
> know if it is going to use or not in some possible future use ?

Not sure what your asking here.  A kernel (any kernel) must keep track
of free swap pages.  The kernel must also track the location of every
page.  When it is in RAM which physical page the virtual page maps to,
and when on disk which disk page it maps to (swap or normal file
system).  The difference is going to be how each kernel manages both
lists.

> >Of course if you want an application to have the best possable disk
> >performance then dedicate the whole disk (or more than one disk) to that
> >application and don't put a swap parition on it.
> 
> Good tip, and I've always found putting more RAM in a box to be the
> #1 hot tip for speeding it up, on the basis that RAM is faster than disk.
>
> I can agree with you that high performance top end machines [ SGI etc]
> do run no-swap and indeed, gigabytes of high performance SRAM cache memory
> used as main memory too.
> 
> Hence the expense.

Any system configuration is going to be a compomise.  If you have a
machine that only does one task then it is possible to tune it to be
faster at that.  I think it is FreeBSD that came up with a file system
tuned to containing lots and lots of small files becuase news server
performance as killed by FFS way of handling small files.  But for most
the FFS was the beter FS.

To me the swapless general purpose Linux system[1] is one compomise to
far.  If you are running without swap then you must have enough RAM for
your peek load.  For most systems the peeks are a lot higher than the
level need to cope with 80% or even 90% for peek load.  For less money
you could just added a disk that is only used for swap - and that way it
will have no impact on the I/O of the other file systems.

I must admit I have changed the way I lay out my partitions on disk
these days.  I use to do it the old way it was done by Sun.  The first
partition was /, the second was swap, with /usr and /home following on
behind.  The swap partition (which these days is really small compared
to the overall disk size) was bunched up close to the edge of the disk.

When I sat down and thought about the problem it became clear that the
thing I wantted to do was minimise head movements.  So now I place a
really, really small /boot partition at the start, then I place swap in
the middle of the disk and then allocate my partitions moving out from
the middle.  The idea is that the partitions containing data used most
offen are closest to the moddle of the disk[1] and therefore, over time,
I've minimised head movement.

Steve

[1] By middle I don't mean the centre point around which the disks spin.
This is an edge.  The middle is half way between center and the outter
edge.  This isn't has hard as it sounds.  When using cfdisk(8) or
fdisk(8) which the units to cylinder mode.  For example my disk on this
machine is layed out thus:

 Disk Drive: /dev/sda
 Size: 203928109056 bytes, 203.9 GB
 Heads: 255   Sectors per Track: 63   Cylinders: 24792


 Device     B Start End   Size Mount
 ----------------------------------------------------------------
 /dev/sda1  * 1     92    118M /boot
 /dev/sda5    93    2092   16G /
 /dev/sda6    2093  10092  62G /home
 /dev/sda7    10093 12092  16G /usr
 /dev/sda8    12093 12792      Swap
 /dev/sda9    12793 14792  16G /var
 /dev/sda10   14793 16792  16G 
 /dev/sda11   16793 18792  16G /usr/local
 /dev/sda12   18793 20792  16G
 /dev/sda13   20793 22792  16G
 /dev/sda14   22793 24792  16G /usr/src

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://mailman.lug.org.uk/pipermail/sussex/attachments/20060808/8cfd5591/attachment.pgp 


More information about the Sussex mailing list