FreeBSD find out RAM size Including Total Amount of Free and Used Memory Size
How do I find out RAM size or memory size installed in my FreeBSD server? How do I display amount of free and used memory in the system powered by FreeBSD? How do I find out how much RAM is installed on a FreeBSD 9/10/11/12/3 server?
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 or package. Most FreeBSD user use the sysctal command to get all data. There is a perl script that automates everything and display back result on screen.
Use sysctl command to find out how much RAM is installed on a FreeBSD
Type the following command:$ sysctl hw.physmem
$ sysctl hw | egrep 'hw.(phys|user|real)'
OR$ grep memory /var/run/dmesg.boot
FreeBSD command about RAM size and information
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. First, download a Perl script which is written by Ralf S. Engelschall:$ fetch http://www.cyberciti.biz/files/scripts/freebsd-memory.pl.txt
$ sudo mv freebsd-memory.pl.txt /usr/local/bin/free
$ sudo chmod +x /usr/local/bin/free
Make sure perl is installed on your system (which perl$ free
Sample outputs:
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
You can avoid Perl based code and use standard sh shell to get same info using freebsd-memory.sh script:$ fetch https://raw.githubusercontent.com/ocochard/myscripts/master/FreeBSD/freebsd-memory.sh
## or use curl command ##
## $ curl -O https://raw.githubusercontent.com/ocochard/myscripts/master/FreeBSD/freebsd-memory.sh
$ sh freebsd-memory.sh
Outputs from my FreeBSD based home router:
SYSTEM MEMORY INFORMATION: mem_wire: 70152192 ( 66MB) [ 14%] Wired: disabled for paging out mem_active: + 44515328 ( 42MB) [ 9%] Active: recently referenced mem_inactive:+ 333316096 ( 317MB) [ 67%] Inactive: recently not referenced mem_cache: + 798720 ( 0MB) [ 0%] Cached: almost avail. for allocation mem_free: + 44724224 ( 42MB) [ 9%] Free: fully available for allocation mem_gap_vm: + -45056 ( 0MB) [ 0%] Memory gap: UNKNOWN ______________ ____________ ___________ ______ mem_all: = 493461504 ( 470MB) [100%] Total real memory managed mem_gap_sys: + 9297920 ( 8MB) Memory gap: Kernel?! ______________ ____________ ___________ mem_phys: = 502759424 ( 479MB) Total real memory available mem_gap_hw: + 34111488 ( 32MB) Memory gap: Segment Mappings?! ______________ ____________ ___________ mem_hw: = 536870912 ( 512MB) Total real memory installed SYSTEM MEMORY SUMMARY: mem_used: 158031872 ( 150MB) [ 29%] Logically used memory mem_avail: + 378839040 ( 361MB) [ 70%] Logically available memory ______________ ____________ __________ _______ mem_total: = 536870912 ( 512MB) [100%] Logically total memory
Linux like free command for my FreeBSD server
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
OR# pkg install freecolor
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))
The options are as follows:
-b Display the amount of memory in bytes. -k Display the amount of memory in kilobytes. This is the default. -m Display the amount of memory in megabytes. -o Display the output in old format, the only difference being this option will disable the display of the "buffer adjusted" line. -s Continuously display the result delay seconds apart. You may actually specify any floating point number for delay, usleep(3) is used for microsecond resolution delay times. -t Display a line showing the column totals. -V Display version information.
Here is a sample demo from my server:
Use top command
The top display and update information about the top cpu processes including “Physical Memory Stats” as follows (from top(1) man page):
- Active: number of bytes active.
- Inact: number of bytes inactive.
- Wired: number of bytes wired down, including BIO-level cached file data pages.
- Cache: number of clean bytes caching data that are available for immediate reallocation.
- Buf: number of bytes used for BIO-level disk caching.
- Free: number of bytes free.
$ top
source : https://www.cyberciti.biz/faq/freebsd-command-to-get-ram-information
Posted on: April 9, 2021, by : Julian's | 31 views