02-17-2015
PS: Used/Free memory in a VM system is pretty meaningless. Once a system goes quiescent, the free memory just represents recent proceess terminations, which make a bunch of free pages. Pages may be used for old mmap(), perhaps by ld() the dynamic linker, and remain mapped in speculation of future use. If there is demand for free memory, and they are not modified, then they can be repurposed immediately, but the memory is in use, used. Whe a process exits, the RAM used for stack and heap are returned to the free memory pool, awaiting use by the nest consumer.
It is more useful to look at page writes and reads of swap per second, to determine if there is a RAM shortage. There are also many ways to tune a system for lower swap I/O, but that is very much an art, sometimes a proprietary product. If you are writing the apps, then there are also many ways to control RAM demand. Paging, in and of itself, may be the right behavior for what is going on, such as extensive interrogation of a huge database. I often see high page faults on virus scanners, as their dictionary is huge.
This User Gave Thanks to DGPickett For This Post:
10 More Discussions You Might Find Interesting
1. HP-UX
Hi,
Can anyone help me out in writing the shell scrip which monitors a process which is running and gives me the output of the memory being used by the process, I have the requirement of monitorig the memory usage of the process when it is running.
Please help me out (3 Replies)
Discussion started by: vijayagiri
3 Replies
2. Filesystems, Disks and Memory
Hi,
In Sun solaris o/s how can i find the memory space available,Swap space.
By giving df command i can get the disc space.
I want RAM space & swap space.
If anybody assist me.that is great.
Thanks (2 Replies)
Discussion started by: Mar1006
2 Replies
3. HP-UX
Hi,
I have a HP-Unix server, version B.11.23. Can someone tell me how to find out the physical memory & virtual memory (swap) in my server? & what is Page fault? & is there any limitation for page fault?
Thank you. Your help is appreciated. (7 Replies)
Discussion started by: Amol21
7 Replies
4. 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
5. Solaris
I 've one box with 16gb of RAM and top, vmstat showing 8712M free , i 'm unable to find which process is eating up rest of the memory , the system is not running anything at the moment. (14 Replies)
Discussion started by: fugitive
14 Replies
6. Red Hat
hi, I have done the below, but am confused as to how much memory is "free"
please help
thanks
$ free
total used free shared buffers cached
Mem: 132033488 48827536 83205952 0 1007696 45404632
-/+ buffers/cache: 2415208 ... (7 Replies)
Discussion started by: JamesByars
7 Replies
7. Ubuntu
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. AIX
All,
AIX: 6.1 64 bits
How to find out Free memory available on AIX 6.1 64 bits
When I used :
svmon -G
size inuse free pin virtual mmode
memory 1048576 612109 191151 215969 549824 Ded-E
pg space 4325376 ... (1 Reply)
Discussion started by: a1_win
1 Replies
9. UNIX for Advanced & Expert Users
Hi Guys,
I have a script. It calls an executable inside (programmed in C). I will have to find the execution time of that script and amount of memory consumed by that process as well.
#!/bin/sh
echo "Script starting"
echo "executable staring"
executable parm1 parm2 parm3
echo... (4 Replies)
Discussion started by: PikK45
4 Replies
10. Solaris
Hi All,
In one of the solaris box aslert got triggered as ...
(Used_Real_Mem_Pct=93.0 Used_Swap_Space_Pct=75.0 )]
when i see the usage by vmstat and sar i am not able to relate the alert with the free memory and swap memory
please help to understand the vmstat output as below..
kthr ... (4 Replies)
Discussion started by: Riverstone
4 Replies
LEARN ABOUT REDHAT
mlockall
MLOCKALL(2) Linux Programmer's Manual MLOCKALL(2)
NAME
mlockall - disable paging for calling process
SYNOPSIS
#include <sys/mman.h>
int mlockall(int flags);
DESCRIPTION
mlockall disables paging for all pages mapped into the address space of the calling process. This includes the pages of the code, data and
stack segment, as well as shared libraries, user space kernel data, shared memory and memory mapped files. All mapped pages are guaranteed
to be resident in RAM when the mlockall system call returns successfully and they are guaranteed to stay in RAM until the pages are
unlocked again by munlock or munlockall or until the process terminates or starts another program with exec. Child processes do not
inherit page locks across a fork.
Memory locking has two main applications: real-time algorithms and high-security data processing. Real-time applications require determin-
istic timing, and, like scheduling, paging is one major cause of unexpected program execution delays. Real-time applications will usually
also switch to a real-time scheduler with sched_setscheduler. Cryptographic security software often handles critical bytes like passwords
or secret keys as data structures. As a result of paging, these secrets could be transfered onto a persistent swap store medium, where they
might be accessible to the enemy long after the security software has erased the secrets in RAM and terminated. For security applications,
only small parts of memory have to be locked, for which mlock is available.
The flags parameter can be constructed from the bitwise OR of the following constants:
MCL_CURRENT Lock all pages which are currently mapped into the address space of the process.
MCL_FUTURE Lock all pages which will become mapped into the address space of the process in the future. These could be for instance new
pages required by a growing heap and stack as well as new memory mapped files or shared memory regions.
If MCL_FUTURE has been specified and the number of locked pages exceeds the upper limit of allowed locked pages, then the system call which
caused the new mapping will fail with ENOMEM. If these new pages have been mapped by the the growing stack, then the kernel will deny
stack expansion and send a SIGSEGV.
Real-time processes should reserve enough locked stack pages before entering the time-critical section, so that no page fault can be caused
by function calls. This can be achieved by calling a function which has a sufficiently large automatic variable and which writes to the
memory occupied by this large array in order to touch these stack pages. This way, enough pages will be mapped for the stack and can be
locked into RAM. The dummy writes ensure that not even copy-on-write page faults can occur in the critical section.
Memory locks do not stack, i.e., pages which have been locked several times by calls to mlockall or mlock will be unlocked by a single call
to munlockall. Pages which are mapped to several locations or by several processes stay locked into RAM as long as they are locked at
least at one location or by at least one process.
On POSIX systems on which mlockall and munlockall are available, _POSIX_MEMLOCK is defined in <unistd.h>.
RETURN VALUE
On success, mlockall returns zero. On error, -1 is returned, errno is set appropriately.
ERRORS
ENOMEM The process tried to exceed the maximum number of allowed locked pages.
EPERM The calling process does not have appropriate privileges. Only root processes are allowed to lock pages.
EINVAL Unknown flags were specified.
CONFORMING TO
POSIX.1b, SVr4. SVr4 documents an additional EAGAIN error code.
SEE ALSO
munlockall(2), mlock(2), munlock(2)
Linux 1.3.43 1995-11-26 MLOCKALL(2)