05-04-2009
Open /proc/meminfo for reading and look for the lines MemTotal and SwapTotal. Sum those up, and pronto! you have the total of virtual memory. Or you malloc() until it fails, although this probably won't give you a correct value and is generally considered rude.
But I don't think that either C or C++ has any function to give you that value, since memory is usually handled by the OS.
10 More Discussions You Might Find Interesting
1. Filesystems, Disks and Memory
I need to put a program together to determine the total, available memory and total and available swap on unix machines. I have been searching for weeks and I seem to run into dead ends. Every unix platform I look at has a different way to determine memory info.
Any sugggestions or new... (4 Replies)
Discussion started by: ghe1
4 Replies
2. Programming
Hi,
First of all I appreciate this group very much for its informative discussions and posts.
Here is my question.
I have one process whose virtual memory size increases linearly from 6MB to 12MB in 20 minutes. Does that mean my process has memory leaks?
In what cases does the... (4 Replies)
Discussion started by: shriashishpatil
4 Replies
3. UNIX for Dummies Questions & Answers
Hello all
im using the ps -ef "args vsz" | some.exe
but the result is in kb , is there some kind of way or flag ( didnt found in the ps man )
to convert me this data to GB or MG in human readable format ?
Thanks (1 Reply)
Discussion started by: umen
1 Replies
4. AIX
Hi,
Would any one be so kind to explain me :
are ulimits defined for each user seperately ? When ?
Specialy what is the impact of :
max locked memory
and
virtual memory
on performance of applications for a user.
Many thanks.
PS :
this is what I can see in MAN :
ulimit ]
... (5 Replies)
Discussion started by: big123456
5 Replies
5. UNIX for Dummies Questions & Answers
Hi All,
Does anyone know what the best commands in the UNIX command line are for obtaining this info:
current CPU usage
memory usage
virtual memory usage
preferably with date and time parameters too?
thanks
ocelot (4 Replies)
Discussion started by: ocelot
4 Replies
6. Solaris
Hi,
Im working on Solaris 9 on SPARC-32 bit running on an Ultra-80, and I have to find out the following:-
1. Total Physical Memory in the system(total RAM).
2. Available Physical Memory(i.e. RAM Usage)
3. Total (Logical) Memory in the system
4. Available (Logical) Memory.
I know... (4 Replies)
Discussion started by: 0ktalmagik
4 Replies
7. Shell Programming and Scripting
Hi,
When running top on linux redhat machine , i see that i have 16gb of memory
in my machine and about 14.5gb of memory are in use:
Mem: 16395780k total, 14970960k used, 1424820k free, 370264k buffers
Swap: 4192956k total, 25824k used, 4167132k free, 12029400k cached
How can i... (3 Replies)
Discussion started by: yoavbe
3 Replies
8. Red Hat
Hi,
I have a strange issue where the total memory on the server is showing low.
At the moment 8 GB of memory is installed and only 3 GB is showing on the shell prompt. I am using the commands free -m and vmstat to check the memory. Please help me out in identifying the issue.
With regards... (3 Replies)
Discussion started by: shabu
3 Replies
9. UNIX for Advanced & Expert Users
Hi,
I have a server box with 16GB ram in it, within the server box there are 3 VMs running with a total allocation of 9GB.
if I add up all the numbers under memory info using vmstat I get 15.8GB so I can say it adds up to 16Gb...
Is there a way to see from the command line how much memory... (2 Replies)
Discussion started by: speedhunt3r
2 Replies
10. Shell Programming and Scripting
Hi
I am trying to calculate memory used by Linux System
free -m
total used free shared buffers cached
Mem: 32109 31010 1099 0 3600 7287
-/+ buffers/cache: 20121 11987
Swap: 10239 1282 8957
Now according to my requirement Im calculating memory using below cmd
free -m | awk 'NR==3{printf... (2 Replies)
Discussion started by: sam@sam
2 Replies
LEARN ABOUT HPUX
get_phys_pages
GET_PHYS_PAGES(3) Linux Programmer's Manual GET_PHYS_PAGES(3)
NAME
get_phys_pages, get_avphys_pages - get total and available physical page counts
SYNOPSIS
#include <sys/sysinfo.h>
long int get_phys_pages(void);
long int get_avphys_pages(void);
DESCRIPTION
The function get_phys_pages() returns the total number of physical pages of memory available on the system.
The function get_avphys_pages() returns the number of currently available physical pages of memory on the system.
RETURN VALUE
On success, these functions return a nonnegative value as given in DESCRIPTION. On failure, they return -1 and set errno to indicate the
cause of the error.
ERRORS
ENOSYS The system could not provide the required information (possibly because the /proc filesystem was not mounted).
CONFORMING TO
These functions are GNU extensions.
NOTES
These functions obtain the required information by scanning the MemTotal and MemFree fields of /proc/meminfo.
The following sysconf(3) calls provide a portable means of obtaining the same information as the functions described on this page.
total_pages = sysconf(_SC_PHYS_PAGES); /* total pages */
avl_pages = sysconf(_SC_AVPHYS_PAGES); /* available pages */
EXAMPLE
The following example shows how get_phys_pages() and get_avphys_pages() can be used.
#include <stdio.h>
#include <stdlib.h>
#include <sys/sysinfo.h>
int
main(int argc, char *argv[])
{
printf("This system has %ld pages of physical memory and "
"%ld pages of physical memory available.
",
get_phys_pages(), get_avphys_pages());
exit(EXIT_SUCCESS);
}
SEE ALSO
sysconf(3)
COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the
latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
GNU
2017-09-15 GET_PHYS_PAGES(3)