11-11-2009
First of all - what you describe is called forking and it should not happen if you have sufficient memory + pagingspace in your box and lru_file_repage is switched off. If it happens frequently, you very likely have insufficient memory in your box or some memory leaks.
Please check your avm value (what is shown in 4k pages!!) with the vmstat command - a healthy box is somewhere around 80% of physical memory. If you're dramatically exceeding it, you simply need to add physical memory or reduce the consumtion.
Check with vmo command the value of lru_file_repage - if its set to 0, than your system rarely uses pagingspace (as long as you have enough physical memory) and your system should not fork at all.
As far as I know, the only fast and reliable way apart from killing the top memory consuming processes (what is sometimes not possible because it would require to start a new process what's usually not possible when your box is really forking/inresponsive) to refresh memory is to reboot the box.
If it's possible that you're out of memory because i.e. a crashed database did not free up its shared memory, you can give it a try using ipcrm on the misallocated shared memory segments - but be careful that you don't do it on shared memory actually in use. And as stated before - this only works if you have enough free memory to start a new process. So you need to give it again and again a try until it works.
Hope that helps,
kind regards
zxmaus
6 More Discussions You Might Find Interesting
1. Solaris
hi everybody
i'm just recreuted as UNIX system admin...
please tell me from where do i have to begin...
best regards (8 Replies)
Discussion started by: hmaiida
8 Replies
2. Filesystems, Disks and Memory
Hello,
What are the comparative command in solaris for checking the memory and produced the output as free -m does in linux. (1 Reply)
Discussion started by: 009satyendra
1 Replies
3. Solaris
Does anybody know the command i issue to find out the manufacturer of the RAM modules in my machine ....ie KINGSTON etc ....i know there is one because I saw sombody use it the other day
cheers (1 Reply)
Discussion started by: hcclnoodles
1 Replies
4. Shell Programming and Scripting
Hi all,
I found like top command could be used to find the Memory and CPU utilization. But i want to know how to find the Memory and CPU utilization for a particular user using top command.
Thanks in advance.
Thanks,
Ananthi.U (2 Replies)
Discussion started by: ananthi_ku
2 Replies
5. UNIX for Dummies Questions & Answers
Hello all,
I am very new to unix. Can anybody suggest me good learning videos and their links for UNIX.
Thanks (1 Reply)
Discussion started by: nnani
1 Replies
6. Solaris
How can I deinstall or delete the whole environment and delete everything (all the files, group, users). I would like to start fresh. I 'd like to install ORACLE 12c. Create users from scratch, create group from scratch etc)
Why?
I installed Oracle 11g on Solaris. It had an ORACLE_BASE,... (6 Replies)
Discussion started by: newborndba
6 Replies
LEARN ABOUT DEBIAN
memstat
MEMSTAT(1) Linux Programmer's Manual MEMSTAT(1)
NAME
memstat - Identify what's using up virtual memory.
SYNOPSIS
memstat [-w][-p PID]
DESCRIPTION
memstat lists all accessible processes, executables, and shared libraries that are using up virtual memory. To get a complete list memstat
has to be run as root to be able to access the data of all running processes.
First, the processes are listed. An amount of memory is shown along with a process ID and the name of the executable which the process is
running. The amount of memory shown does not include shared memory: it only includes memory which is private to that process. So, if a
process is using a shared library like libc, the memory used to hold that library is not included. The memory used to hold the exe-
cutable's text-segment is also not included, since that too is shareable.
After the processes, the shared objects are listed. The amount of memory is shown along with the filename of the shared object, followed
by a list of the processes using the shared object. The memory is listed as the total amount of memory allocated to this object throughout
the whole namespace. In brackets also the amount that is really shared is listed.
Finally, a grand total is shown. Note that this program shows the amount of virtual (not real) memory used by the various items.
memstat gets its input from the /proc filesystem. This must be compiled into your kernel and mounted for memstat to work. The pathnames
shown next to the shared objects are determined by scanning the disk. memstat uses a configuration file, /etc/memstat.conf, to determine
which directories to scan. This file should include all the major bin and lib directories in your system, as well as the /dev directory.
If you run an executable which is not in one of these directories, it will be listed by memstat as ``[0dev]:<inode>''.
Options
The -w switch causes a wide printout: lines are not truncated at 80 columns.
The -p switch causes memstat to only print data gathered from looking at the process with the gicen PID.
NOTES
These reports are intended to help identify programs that are using an excessive amount of memory, and to reduce overall memory waste.
FILES
/etc/memstat.conf
/proc/*/maps
SEE ALSO
ps(1), top(1), free(1), vmstat(8), lsof(8), /usr/share/doc/memstat/memstat-tutorial.txt.gz
BUGS
memstat ignores all devices that just map main memory, though this may cause memstat to ignore some memory usage.
Memory used by the kernel itself is not listed.
AUTHOR
Originally written by Joshua Yelon <jyelon@uiuc.edu> and patched by Bernd Eckenfels <ecki@debian.org>. Taken over and rewritten by Michael
Meskes <meskes@debian.org>.
Debian 01 November 1998 MEMSTAT(1)