Sponsored Content
Top Forums Programming Getting the total virtual memory for ubuntu in c++ Post 302313388 by jim mcnamara on Tuesday 5th of May 2009 01:16:55 PM
Old 05-05-2009
pludi gave a fully correct answer. There are other ways involving accessing kernel memory directly, but that is very advanced programming.

You can also call popen() with a command of "vmstat -s".

This is the output of vmstat -s, you want the stuff in red
Code:
$ vmstat -s
      2096612  total memory
       788440  used memory 
            0  active memory
            0  inactive memory
      1308172  free memory
            0  buffer memory
            0  swap cache
      1572864  total swap
        13312  used swap
      1559552  free swap
     17632780 non-nice user cpu ticks
            0 nice user cpu ticks
     18800467 system cpu ticks
   1772277920 idle cpu ticks
            0 IO-wait cpu ticks
            0 IRQ cpu ticks
            0 softirq cpu ticks
     11051537 pages paged in
     22309640 pages paged out
     11051537 pages swapped in
       345219 pages swapped out
    481163032 interrupts
   1720440275 CPU context switches
   1240017420 boot time
            0 forks

It is easier to read the /proc/meminfo "file"
 

10 More Discussions You Might Find Interesting

1. Filesystems, Disks and Memory

Total Memory/Swap 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

about virtual memory and memory leak

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

how can i get The total size of the process in virtual memory om GB or MB

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

ulimits max locked memory virtual memory

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

cpu, memory and virtual memory usage

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

How to find Total and Free Physical Memory and Logical Memory in SOLARIS 9

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

Total usage memory by user

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

Total Memory

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

Finding out total memory usage

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

Calculate total memory using free -m

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
vmstat(1)						      General Commands Manual							 vmstat(1)

Name
       vmstat - report virtual memory statistics

Syntax
       vmstat [ interval [ count ] ]
       vmstat -v [ interval [ count ] ]
       vmstat -fKSsz
       vmstat -Kks namelist [ corefile ]

Description
       The command reports statistics on processes, virtual memory, disk, trap, and cpu activity.

       If  is  specified without arguments, this command summarizes the virtual memory activity since the system was last booted.  If the interval
       argument is specified, then successive lines are summaries of activity over the last interval seconds.  Because many statistics are sampled
       in  the system every five seconds, five is a good specification for interval; other statistics vary every second.  If the count argument is
       provided, the statistics are repeated count times.

       When you run the format fields are as follows:

       Procs: information about numbers of processes in various states.

	    r	 in run queue

	    b	 blocked for resources (i/o, paging, and so on.)

	    w	 runnable or short sleeper (< 20 seconds) but swapped

       faults:	trap/interrupt rate averages per second over the last 5 seconds.

	    in	 (non clock) device interrupts per second

	    sy	 system calls per second

	    cs	 cpu context switch rate (switches/second)

       cpu:  breakdown of percentage usage of cpu time

	    us	 user time for normal and low priority processes

	    sy	 system time

	    id	 cpu idle time

       Memory:	information about the use of virtual and real memory.  Virtual pages are considered active if they belong to processes	which  are
       running or have run in the last 20 seconds.

	    avm  active virtual pages

	    fre  size of the free list

       Pages are reported in units of 1024 bytes.

       If  the number of pages exceeds 9999, it is shown in a scaled representation.  The suffix k indicates multiplication by 1000 and the suffix
       m indicates multiplication by 1000000.  For example, the value 12345 appears as 12k.

       page: information about page faults and paging activity.  These are averaged every five seconds, and given in units per second.	 The  size
       of a unit is always 1024 bytes and is independent of the actual page size on a machine.

	    re	 page reclaims (simulating reference bits)

	    at	 pages attached (found in free list not swapdev or filesystem)

	    pi	 pages paged in

	    po	 pages paged out

	    fr	 pages freed per second

	    de	 anticipated short term memory shortfall

	    sr	 pages scanned by clock algorithm, per-second

       disk:   s0,  s1 ...sn: Paging/swapping disk sector transfers per second (this field is system dependent).  Typically paging is split across
       several of the available drives.  This will print for each paging/swapping device configured into the kernel.

Options
       -f     Provides reports on the number of forks and vforks since system startup and the number of pages of virtual memory involved  in  each
	      kind of fork.

       -K     Displays usage statistics of the kernel memory allocator.

       -k     Allows  a  dump  to be interrogated to print the contents of the sum structure when specified with a namelist and corefile.  This is
	      the default.

       -S     Replaces the page reclaim (re) and pages attached (at) fields with processes swapped in (si) and processes swapped out (so).

       -s     Prints the contents of the sum structure, giving the total number of several kinds of paging related events that have occurred since
	      boot.

       -v     Prints an expanded form of the virtual memory statistics.

       -z     Zeroes out the sum structure if the UID indicates root privilege.

Examples
       The following command prints what the system is doing every five seconds:
       vmstat 5
       To find the status after a core dump use the following:
       cd /usr/adm/crash
       vmstat -k vmunix.? vmcore.?

Files
       Kernel memory

       System namelist

																	 vmstat(1)
All times are GMT -4. The time now is 09:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy