Q. How do I find out RAM size / memory size in FreeBSD? How do I display amount of free and used memory in the system?
A. To displays the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel you need to install special script Most user use sysctal command to get all data. There is a perl script that automates everything and display back result on screen.
This script query the system through the generic sysctl interface. The sysctl utility retrieves kernel state and allows processes with appropriate privilege to set kernel state. You must have perl installed on FreeBSD.
FreeBSD command about RAM size and information
Download perl script which is written by Ralf S. Engelschall:
# fetch http://www.cyberciti.biz/files/scripts/freebsd-memory.pl.txt
# mv freebsd-memory.pl.txt /usr/local/bin/free
# chmod +x /usr/local/bin/free
Make sure perl is installed. Now to display or list total system memory usage type
$ free
Output:
SYSTEM MEMORY INFORMATION: mem_wire: 25341952 ( 24MB) [ 9%] Wired: disabled for paging out mem_active: + 47529984 ( 45MB) [ 18%] Active: recently referenced mem_inactive:+ 15605760 ( 14MB) [ 6%] Inactive: recently not referenced mem_cache: + 16384 ( 0MB) [ 0%] Cached: almost avail. for allocation mem_free: + 165556224 ( 157MB) [ 65%] Free: fully available for allocation mem_gap_vm: + 389120 ( 0MB) [ 0%] Memory gap: UNKNOWN -------------- ------------ ----------- ------ mem_all: = 254439424 ( 242MB) [100%] Total real memory managed mem_gap_sys: + 4988928 ( 4MB) Memory gap: Kernel?! -------------- ------------ ----------- mem_phys: = 259428352 ( 247MB) Total real memory available mem_gap_hw: + 9007104 ( 8MB) Memory gap: Segment Mappings?! -------------- ------------ ----------- mem_hw: = 268435456 ( 256MB) Total real memory installed SYSTEM MEMORY SUMMARY: mem_used: 87257088 ( 83MB) [ 32%] Logically used memory mem_avail: + 181178368 ( 172MB) [ 67%] Logically available memory -------------- ------------ ----------- ------ mem_total: = 268435456 ( 256MB) [100%] Logically total memory
Linux like free command for FreeBSD
Freecolor is a free replacement that displays free memory graphically as a bargraph. It supports the same options as free. Install freecolor, enter:
# cd /usr/ports/sysutils/freecolor
# make install clean
To see memory details, enter:
$ freecolor -m -o
Sample output:
total used free shared buffers cached
Mem: 4082 825 3256 0 0 117
Swap: 2048 0 2047
$ freecolor -t -m -o
Sample output:
total used free shared buffers cached
Mem: 4082 825 3256 0 0 117
Swap: 2048 0 2047
Total: 6130 = ( 826 (used) + 5421 (free))
- Email FAQ to a friend
- Printable version
- Rss Feed
- Last Updated: 11-28-08
{ 8 comments… read them below or add one }
same thing as “sysctl -a|grep mem”
great post though, most users have no idea how to obtain this information in FreeBSD
Vivek, FreeBSD does not have wget by default. Maybe you should replace wget with fetch.
It’s visible that you’re more used to Linux :P
Edited:fetch -o /usr/local/bin/free http://www.cyberciti.biz/files/scripts/freebsd-memory.pl.txt
is more useful.
Edited:
fetch -o /usr/local/bin/free http://www.cyberciti.biz/files/scripts/freebsd-memory.pl.txt
is more useful. Then chmod 755 /usr/local/bin/free
andrei,
Heh, I do have wget installed but you are right on target about default ftp client. The faq has been updated. I think you still need to run chmod +x free
# freecolor -t -m -o
total used free shared buffers cached
Mem: 1514 535 978 0 0 1
Swap: 2048 0 2048
Total: 4294965248 = ( 3117 (used) + 3028 (free))
Segmentation fault
What’s wrong ??
Try upgrading port and base system. If it is not fixed, try these suggestions.
Installing it in Darwin and also in OS X Leopard:
Illegal division by zero at /usr/local/bin/free line 51.