Sponsored Content
Top Forums UNIX for Dummies Questions & Answers How to accurately determine memory (RAM) information Post 302262284 by fiori_musicali on Thursday 27th of November 2008 01:41:07 AM
Old 11-27-2008
How to accurately determine memory (RAM) information

I'm writing a shell script to display as much useful information on physical and virtual memory availability and usage as possible. I need a CLI tool to print these numbers for me.

The utilities that I know to give out some statistics are the following:

free
top
vmstat
sysctl

In Linux there's also /proc/meminfo

I'm however using OpenBSD which doesn't by default utilize /proc, and I want the script to apply in as many different environments as possible, relying on the most common basic utilities. The command "free" isn't installed on OpenBSD out-of-the-box, so I've excluded that. sysctl seems the best bet at the moment, aside from the fact that I have to do some wildcarding/conditionals for my script to apply to both Linux and BSD kernels (for example in Linux the first level key for some parameters is "kernel" whereas in OpenBSD it's "kern").

sysctl also displays the amount of physical memory wrong:

hw.physmem=469037056
hw.usermem=467742720

I have 512MB of RAM on that machine. What's up with that? I've also seen it reported by some users that sysctl incorrectly displays the machine to have 2147483648 bytes of physical memory, even when the actual amount by far exceeds this. I'm not sure if this was a Mac-related or a universal issue.

Where does /proc/meminfo fetch its content from? What about free, top, vmstat? Surely there's some cross-referencing somewhere?

Lower the level, the better, as long as it's reachable by scripting.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Amount of RAM (Memory)

How do i check/get the total amount of RAM, on a machine running UNIX? (4 Replies)
Discussion started by: samudimu
4 Replies

2. Solaris

RAM Physical Memory usage by each Process.

Hi All, I am trying to find the physical memory usage by each process/users. Can you please let me know how to get the memory usage?. Thanks, bsraj. (12 Replies)
Discussion started by: bsrajirs
12 Replies

3. Shell Programming and Scripting

RAM usage Information

Hi i just wanted to know what is the code to display amount of RAM and also the percentage used? I know i can possibly use the vmstat code but what part indicates the RAM? Any help would be much appreciated. Thanks (1 Reply)
Discussion started by: warlock129
1 Replies

4. Solaris

Solaris sun4v - how do you determine physical RAM?

I have a Sun T5120, and I want to programmatically determine how much RAM it has. # uname -a SunOS myhost 5.10 Generic_141444-09 sun4v sparc SUNW,SPARC-Enterprise-T5120 The box has 64Gb; I tried prtdiag and prtconf, but they give me bogus info prtconf gives me: # prtconf |grep -i... (12 Replies)
Discussion started by: thomn8r
12 Replies

5. Solaris

RAM memory display

Hi How to display RAM memory info under Sol10 ? I need info like : - how many slots is available in MoBo - how RAM is plugged into those slots - total number of RAM memory size and size divided in each slot ths for help. (2 Replies)
Discussion started by: presul
2 Replies

6. Solaris

Ram memory fails.

Hi All, Ram memory always fails,i did not find the reason...........any one can help i this.:wall: (2 Replies)
Discussion started by: Rajesh_Apple
2 Replies

7. Ubuntu

Find defective ram memory

How do I find if I have defective ram in my computer. I don't have a cd-rom, so I can't use a bootable cd. (1 Reply)
Discussion started by: locoroco
1 Replies

8. Red Hat

Query on RAM Memory

Hi Experts, I have a linux system , which triggers a alarm if RAM memory goes above 70%... When i see top command i cant find any process utilizing much of memory .. Can anyone tell me what could be the reason for high memory utilization.. Bellow is the free command o/p: free ... (14 Replies)
Discussion started by: shaliniyadav
14 Replies

9. Filesystems, Disks and Memory

Maximum Memory RAM for windows 7 32 bit

Hi, i have just installed 4 gb RAM ddr3 on OS Windows 7 32 bit. In "manage peripherals" i see this section: Memory installed (ram) : 4,00 gb (2,30gb usable) Why only 2,30 gb usable ? In Windows 7 32bit the maximum size is not 3,00gb ? see file attached, please (4 Replies)
Discussion started by: nash83
4 Replies
FREE(1)                                                            User Commands                                                           FREE(1)

NAME
free - Display amount of free and used memory in the system SYNOPSIS
free [options] DESCRIPTION
free displays the total amount of free and used physical and swap memory in the system, as well as the buffers and caches used by the ker- nel. The information is gathered by parsing /proc/meminfo. The displayed columns are: total Total installed memory (MemTotal and SwapTotal in /proc/meminfo) used Used memory (calculated as total - free - buffers - cache) free Unused memory (MemFree and SwapFree in /proc/meminfo) shared Memory used (mostly) by tmpfs (Shmem in /proc/meminfo) buffers Memory used by kernel buffers (Buffers in /proc/meminfo) cache Memory used by the page cache and slabs (Cached and SReclaimable in /proc/meminfo) buff/cache Sum of buffers and cache available Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the cache or free fields, this field takes into account page cache and also that not all reclaimable memory slabs will be reclaimed due to items being in use (MemAvailable in /proc/meminfo, available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free) OPTIONS
-b, --bytes Display the amount of memory in bytes. -k, --kibi Display the amount of memory in kibibytes. This is the default. -m, --mebi Display the amount of memory in mebibytes. -g, --gibi Display the amount of memory in gibibytes. --tebi Display the amount of memory in tebibytes. --pebi Display the amount of memory in pebibytes. --kilo Display the amount of memory in kilobytes. Implies --si. --mega Display the amount of memory in megabytes. Implies --si. --giga Display the amount of memory in gigabytes. Implies --si. --tera Display the amount of memory in terabytes. Implies --si. --peta Display the amount of memory in petabytes. Implies --si. -h, --human Show all output fields automatically scaled to shortest three digit unit and display the units of print out. Following units are used. B = bytes K = kibibyte M = mebibyte G = gibibyte T = tebibyte P = pebibyte If unit is missing, and you have exbibyte of RAM or swap, the number is in tebibytes and columns might not be aligned with header. -w, --wide Switch to the wide mode. The wide mode produces lines longer than 80 characters. In this mode buffers and cache are reported in two separate columns. -c, --count count Display the result count times. Requires the -s option. -l, --lohi Show detailed low and high memory statistics. -s, --seconds delay Continuously display the result delay seconds apart. You may actually specify any floating point number for delay using either . or , for decimal point. usleep(3) is used for microsecond resolution delay times. --si Use kilo, mega, giga etc (power of 1000) instead of kibi, mebi, gibi (power of 1024). -t, --total Display a line showing the column totals. --help Print help. -V, --version Display version information. FILES
/proc/meminfo memory information BUGS
The value for the shared column is not available from kernels before 2.6.32 and is displayed as zero. Please send bug reports to <procps@freelists.org> SEE ALSO
ps(1), slabtop(1), top(1), vmstat(8). procps-ng 2016-06-03 FREE(1)
All times are GMT -4. The time now is 03:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy