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(1M)                                                System Administration Commands                                                vmstat(1M)

NAME
vmstat - report virtual memory statistics SYNOPSIS
vmstat [-cipqsS] [disks] [ interval [count]] DESCRIPTION
vmstat reports virtual memory statistics regarding kernel thread, virtual memory, disk, trap, and CPU activity. On MP (multi-processor) systems, vmstat averages the number of CPUs into the output. For per-processor statistics, see mpstat(1M). vmstat only supports statistics for certain devices. For more general system statistics, use sar(1), iostat(1M), or sar(1M). Without options, vmstat displays a one-line summary of the virtual memory activity since the system was booted. During execution of the kernel status command, the state of the system can change. If relevant, a state change message is included in the vmstat output, in one of the following forms: <<device added: sd0>> <<device removed: sd0>> <<processors added: 1, 3>> <<processors removed: 1, 3>> See System Administration Guide: Advanced Administration for device naming conventions for disks. OPTIONS
The following options are supported: -c Report cache flushing statistics. This option is obsolete, and no longer meaningful. This option might be removed in a future version of Solaris. -i Report the number of interrupts per device. count and interval does not apply to the -i option. -p Report paging activity in details. This option will display the following, respectively: epi Executable page-ins. epo Executable page-outs. epf Executable page-frees. api Anonymous page-ins. apo Anonymous page-outs. apf Anonymous page-frees. fpi File system page-ins. fpo File system page-outs. fpf File system page-frees. When executed in a zone and if the pools facility is active, all of the above only report actitivity on the processors in the pro- cessor set of the zone's pool. -q Suppress messages related to state changes. -s Display the total number of various system events since boot. count and interval does not apply to the -s option. -S Report on swapping rather than paging activity. This option will change two fields in vmstat's ``paging'' display: rather than the ``re'' and ``mf'' fields, vmstat will report ``si'' (swap-ins) and ``so'' (swap-outs). OPERANDS
The following operands are supported: count Specifies the number of times that the statistics are repeated. count does not apply to the -i and -s options. disks Specifies which disks are to be given priority in the output (only four disks fit on a line). Common disk names are id, sd, xd, or xy, followed by a number (for example, sd2, xd0, and so forth). interval Specifies the last number of seconds over which vmstat summarizes activity. This number of seconds repeats forever. inter- val does not apply to the -i and -s options. EXAMPLES
Example 1: Using vmstat The following command displays a summary of what the system is doing every five seconds. example% vmstat 5 kthr memory page disk faults cpu r b w swap free re mf pi p fr de sr s0 s1 s2 s3 in sy cs us sy id 0 0 0 11456 4120 1 41 19 1 3 0 2 0 4 0 0 48 112 130 4 14 82 0 0 1 10132 4280 0 4 44 0 0 0 0 0 23 0 0 211 230 144 3 35 62 0 0 1 10132 4616 0 0 20 0 0 0 0 0 19 0 0 150 172 146 3 33 64 0 0 1 10132 5292 0 0 9 0 0 0 0 0 21 0 0 165 105 130 1 21 78 1 1 1 10132 5496 0 0 5 0 0 0 0 0 23 0 0 183 92 134 1 20 79 1 0 1 10132 5564 0 0 25 0 0 0 0 0 18 0 0 131 231 116 4 34 62 1 0 1 10124 5412 0 0 37 0 0 0 0 0 22 0 0 166 179 118 1 33 67 1 0 1 10124 5236 0 0 24 0 0 0 0 0 14 0 0 109 243 113 4 56 39 ^C example% The fields of vmstat's display are kthr Report the number of kernel threads in each of the three following states: r the number of kernel threads in run queue b the number of blocked kernel threads that are waiting for resources I/O, paging, and so forth w the number of swapped out lightweight processes (LWPs) that are waiting for processing resources to finish. memory Report on usage of virtual and real memory. swap available swap space (Kbytes) free size of the free list (Kbytes) page Report information about page faults and paging activity. The information on each of the following activities is given in units per second. re page reclaims -- but see the -S option for how this field is modified. mf minor faults -- but see the -S option for how this field is modified. pi kilobytes paged in po kilobytes paged out fr kilobytes freed de anticipated short-term memory shortfall (Kbytes) sr pages scanned by clock algorithm When executed in a zone and if the pools facility is active, all of the above (except for "de") only report activity on the processors in the processor set of the zone's pool. disk Report the number of disk operations per second. There are slots for up to four disks, labeled with a single letter and number. The letter indicates the type of disk (s = SCSI, i = IPI, and so forth); the number is the logical unit number. faults Report the trap/interrupt rates (per second). in interrupts sy system calls cs CPU context switches When executed in a zone and if the pools facility is active, all of the above only report actitivity on the processors in the processor set of the zone's pool. cpu Give a breakdown of percentage usage of CPU time. On MP systems, this is an average across all processors. us user time sy system time id idle time When executed in a zone and if the pools facility is active, all of the above only report actitivity on the processors in the processor set of the zone's pool. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |See below. | +-----------------------------+-----------------------------+ Invocation is evolving. Human readable output is unstable. SEE ALSO
sar(1), iostat(1M), mpstat(1M), sar(1M), attributes(5) System Administration Guide: Basic Administration System Administration Guide: Advanced Administration NOTES
The sum of CPU utilization might vary slightly from 100 because of rounding errors in the production of a percentage figure. The -c option (Report cache flushing statistics) is not supported in this release. SunOS 5.10 20 Dec 2004 vmstat(1M)
All times are GMT -4. The time now is 12:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy