question about memory usage
That's because you're using a 32-bit kernel without PAE support. PCI
equipment requires a memory address for the kernel to be able to access it,
and a memory address cannot be assigned to both a PCI device and a RAM
location. Considering that 4 GB is the upper RAM limit for 32-bit systems,
the PCI addresses are assigned downward on from that 4 GB upper RAM limit.
This is known as "the PCI memory hole" and can only be circumvented by
running a PAE-enabled kernel - i.e. a kernel built with /HIGHMEM_64/ - or
by running a 64-bit kernel, provided that you're using 64-bit hardware.
The lower percentage should therefore also only be seen as that, i.e. a
percentage, and thus an amount of RAM relative to the total amount of RAM
in the machine. This total amount of RAM in the machine may vary between
kernel versions as some kernels report the amount of RAM installed as seen
by the BIOS, while other kernels only report the maximum amount of RAM they
can access on that same machine.
Buffering and cache are assigned dynamically by the kernel, depending on the
load and the needs of the machine, and somewhat depend on the chosen
filesystem type. If the kernel decides that you need more room for
caching/buffering, it will use up more free memory and/or swap out some of
the used memory to disk.
That's because the kernel may find that with less RAM in the machine,
performance is benefitted more by increasing disk cache. Like I said, this
is highly variable and dynamic. There is no pre-set value for disk caching
and buffering. The kernel assigns memory to cache and buffering as it sees
fit for the moment.
I think I just have. ;-)
--
*Aragorn*
(registered GNU/Linux user #223157)
|