top shows only half of realmem?

Bartosz Stec bartosz.stec at
Wed Jan 26 13:20:52 UTC 2011

W dniu 2011-01-26 14:06, John Baldwin pisze:
> On Wednesday, January 26, 2011 7:20:34 am Bartosz Stec wrote:
>> Guys,
>> could someone explain me this?
>>      # sysctl hw.realmem
>>      hw.realmem: 2139029504
>> top line shows:
>>      Mem: 32M Active, 35M Inact, 899M Wired, 8392K Cache, 199M Buf, 58M Free
>> 32+35+899+8+199+58 = 1231MB
>> Shouldn't that sum to all available ram? Or maybe I'm reading it wrong?
>> This machine has indeed 2GB of ram on board and showed in BIOS.
>> i386  FreeBSD 8.2-PRERELEASE #16: Mon Jan 17 22:28:53 CET 2011
>> Cheers.
> First, don't include 'buf' as isn't a separate set of RAM, it is only a range
> of the virtual address space in the kernel.  It used to be relevant when the
> buffer cache was separate from the VM page cache, but now it is mostly
> irrelevant (arguably it should just be dropped from top output).

Thanks for the explanation. So 1231MB - 199MB Buf and we got about 1GB 
of memory instead of 2B.

> However, look at what hw.physmem says (and the realmem and availmem lines in
> dmesg).  realmem is actually not that useful as it is not a count of the
> amount of memory, but the address of the highest memory page available.  There
> can be less memory available than that due to "holes" in the address space for
> PCI memory BARs, etc.
OK, here you go:
# sysctl hw | grep mem

    hw.physmem: 2125893632
    hw.usermem: 1212100608
    hw.realmem: 2139029504
    hw.pci.host_mem_start: 2147483648

And here's the part of /boot/loader.conf for ZFS tuning which may (or 
probably may not) connected to this issue:


Bartosz Stec

More information about the freebsd-stable mailing list