03-16-2010
Shared memory is physical memory that is used by two or more different processes at the same time.
Ex: shared libraries. This is code that gets loaded into memory, and all processes running on the system see it an use it at the same time.
9 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
I am running HP-UX B.11.11.
I'm increasing a parameter for a database engine so that it uses more memory to buffer the disk drive (to speed up performance). I have over 5GB of memory not being used.
But when I try to start the DB with the increased buffer parameter I get told.
"Not... (1 Reply)
Discussion started by: cjcamaro
1 Replies
2. Programming
hi,
this is the problem: i want to swap a linked list between 4 processes (unrelated), is there any way i can do that just by sending a pointer to a structure?
//example
typedef struct node
{
int x;
char c;
struct node *next;
} node;
or i should send the items ( x,c ) by... (9 Replies)
Discussion started by: elzalem
9 Replies
3. Programming
I need to create a shared library to access an in memory DB. The DB is not huge, but big enough to make it cumbersome to carry around in every single process using the shared library. Luckily, it is pretty static information, so I don't need to worry much about synchronizing the data between... (12 Replies)
Discussion started by: DreamWarrior
12 Replies
4. Programming
I am writing a shared library in Linux (but compatible with other UNIXes) and I want to allow multiple instances to share a piece of memory -- 1 byte is enough. What's the "best" way to do this? I want to optimize for speed and portability.
Obviously, I'll have to worry about mutual exclusion. (0 Replies)
Discussion started by: otheus
0 Replies
5. UNIX for Advanced & Expert Users
Hi,
Using ipcs we can see shared memory, etc.. details. How can I add/remove shared memory(command name)?
Thanks,
Naga:cool: (2 Replies)
Discussion started by: Nagapandi
2 Replies
6. Red Hat
Dear Friends ,
I am confused about shared memory in Linux . plz look @ the below output :
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 126G 61G 59G 52% /
tmpfs 1.7G 0 1.7G 0% /dev/shm
Here , I see that every time... (1 Reply)
Discussion started by: shipon_97
1 Replies
7. Red Hat
unable to remove shared memory using ipcrm -m in linux
$ ipcs -m
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 32768 root 644 80 2
0x00000000 65537 root ... (4 Replies)
Discussion started by: LinuxLearner
4 Replies
8. Programming
Hello.
I am new to this forum and I would like to ask for advice about low level POSIX programming.
I have to implement a POSIX compliant C shared library.
A file will have some variables and the shared library will have some functions which need those variables.
There is one special... (5 Replies)
Discussion started by: iamjag
5 Replies
9. Programming
So I am pretty new to the linux environment, and I am trying to create a shell that uses multiple pipes, and I read online that piping using shared memory space is more efficient than using regular piping. However, I have zero clue how to use shared memory space with pipes. Has anyone done this... (1 Reply)
Discussion started by: Greg_MC
1 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)