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
memx(8) System Manager's Manual memx(8)
Name
memx - memory exerciser
Syntax
/usr/field/memx [ -h ] [ -s ] [ -ofile ] [ -ti ] [ -mj ] [ -pk ]
Description
The memory exerciser spawns processes to exercise memory by writing and reading three patterns: 1's and 0's, 0's and 1's, and a random pat-
tern.
You specify the number of processes to spawn and the size of memory to be tested by each process. The first process is a shared memory
exerciser, the remaining are standard memory exercisers. The exerciser will run until the process receives a or a kill -15 pid.
A logfile is made in for you to examine and then remove. If there are errors in the logfile, check the file, where the driver and kernel
error messages are saved.
Options
The options are:
-h Print the help message for the command.
-s Disable shared memory testing.
-ofile Save diagnostic output in file.
-ti Run time in minutes (i). The default is to run until the process receives a or a kill -15 pid.
-mj The memory size in bytes (j) to be tested by each spawned process. Must be greater than 4095. The default is (total-memory)/20.
-pk The number of processes to spawn (k). The default is 20. The maximum is also 20.
Restrictions
The exerciser is restricted by the size of swap space available. The size of the swap space and the size of internal memory available will
determine how many processes can run on the system. For example, If there were 16Mbytes of swap space and 16Mbytes of memory, all of the
swap space would be used if all 20 spawned memory exercisers were running. In that event, no new processes would be able to run. On sys-
tems with large amounts of memory and small swap space, you must restrict the number of memory exercisers and/or the size of memory being
tested.
If there is a need to run a system exerciser over an NFS link or on a diskless system there are some restrictions. For exercisers that
need to write into a file system, such as the target file system must be writable by root. Also the directory, in which any of the exer-
cisers are executed, must be writable by root because temporary files are written into the current directory. These latter restrictions
are sometimes difficult to overcome because often NFS file systems are mounted in a way that prevents root from writing into them. Some of
the restrictions may be overcome by copying the exerciser to another directory and then executing it.
Examples
The following example tests all of memory by running 20 spawned processes until a or kill -15 pid is received.
% /usr/field/memx
The following example runs 10 spawned processes, memory size 500,000 bytes, for 180 minutes in the background.
% /usr/field/memx -t180 -m500000 -p10 &
See Also
Guide to System Exercisers
memx(8)