Sponsored Content
Special Forums Hardware Filesystems, Disks and Memory Writing fast and efficiently - how ? Post 22402 by Seeker on Monday 3rd of June 2002 11:26:39 AM
Old 06-03-2002
Question Writing fast and efficiently - how ?

I have a lot of processes all of which need to write quite
a lot of data to the filesystem ( to a single file).
This is managed today in the following way : all the processes
write the data to a shared memory block, which is manged by a process that empties it to a file, thus allowing more space for
writing by the other processes.
It is now argued that this is slow and time- consuming,
specifically in times of high load on the shmem resource
(since each read/write is performed via a lock management
facility).
My question is : Will it be faster to dump the whole idea
of the shared memory and use the buffers that the O.S
provudes ? What type of locking will then be necessary ?

I am working on a AIX , RS6000 machine.

Thank you in advance for your comments !
 

9 More Discussions You Might Find Interesting

1. IP Networking

how to use PING command efficiently

Do anyone telle me please how to use PING command to verify connection (TCP/IP) between serveurs. thanks (1 Reply)
Discussion started by: hoang
1 Replies

2. Programming

Writing fast and efficiently - how ?

I have a lot of processes all of which need to write quite a lot of data to the filesystem ( to a single file). This is managed today in the following way : all the processes write the data to a shared memory block, which is manged by a process that empties it to a file, thus allowing more... (7 Replies)
Discussion started by: Seeker
7 Replies

3. Shell Programming and Scripting

Using xapply efficiently?

Hi all, Were currently using xapply to run multiple ssh instances that then calls a script that returns the PID of a webserver process. Currently we have like 30 xapply statements in a script call checkit which checks various webserver processes on various unix/linux boxes. My question... (0 Replies)
Discussion started by: bdsffl
0 Replies

4. UNIX Desktop Questions & Answers

how to search files efficiently using patterns

hi friens, :) if i need to find files with extension .c++,.C++,.cpp,.Cpp,.CPp,.cPP,.CpP,.cpP,.c,.C wat is the pattern for finding them :confused: (2 Replies)
Discussion started by: arunsubbhian
2 Replies

5. Shell Programming and Scripting

How to parse a string efficiently

I am new to the boards and to shell programming and have a requirement to name new files received with a unique sequence number. I need to look at a particular file pattern that exists and then to increment a sequence by 1 and write the new file. Example of file names and sequence # ... (4 Replies)
Discussion started by: sandiego_coder
4 Replies

6. Shell Programming and Scripting

Parse and delete lines efficiently

Hi I have a set of options in the form of key value in a file. Need to find a particular value of 'a' and delete all lines till the next 'a' keyword . Ex : a bbb c ddd e fff g hhh a sss c ggg e xxx f sss a ddd d sss r sss g hhh (5 Replies)
Discussion started by: TDUser
5 Replies

7. UNIX for Dummies Questions & Answers

Efficiently Repeat Text

Hi, Often when I use echo statements in scripts I echo a line of #'s above and below. For example: echo ##### echo hello world echo ##### However, I generally have a series of about 75 #'s. For example: echo #(x 75) echo hello world echo #(X 75) While this helps to delineate... (7 Replies)
Discussion started by: msb65
7 Replies

8. Shell Programming and Scripting

Getting remote variables more efficiently

Hello all, I have a script that has to get variables remotely. Rather than having the script login to the remote server 3 separate times, is there a faster way to get each variable? ##Server comes from input or list## CHKINSTALL=`ssh server "swlist | grep -i program" | grep -v... (2 Replies)
Discussion started by: LinuxRacr
2 Replies

9. Shell Programming and Scripting

Purging 2000+ directories efficiently

Hi I have a requirement wherein i need to purge some directories. I have more than 2000 directories where i need to keep data for 10 days and delete the rest. What i am looking for is an efficient way to achieve this. There are four mount points from where i need to delete the files. ... (3 Replies)
Discussion started by: Apoorvbarwa
3 Replies
shmop(2)							System Calls Manual							  shmop(2)

NAME
shmat(), shmdt() - shared memory operations SYNOPSIS
DESCRIPTION
attaches the shared memory segment associated with the shared memory identifier specified by shmid to the data segment of the calling process. The segment is attached for reading if (shmflg is "true"; otherwise, it is attached for reading and writing. It is not possible to attach a segment for write only. If the shared memory segment has never been attached to by any process prior to the current call, shmaddr must be specified as zero and the segment is attached at a location selected by the operating system. That location is identical in all processes accessing that shared mem- ory object. Once the operating system selects a location for a shared memory segment, the same location will be used across any subsequent and calls on the segment until it is removed by the operation of See exceptions for MPAS processes below. If this is not the first call on the shared memory segment throughout the system, shmaddr must either be zero or contain a nonzero address that is identical to the one returned from previous calls for that segment. Even if no processes are currently attached to the segment, as long as the segment has been attached before, the same rule applies. See exceptions for MPAS processes below. If the calling process is already attached to the shared memory segment, fails and returns regardless of what value is passed in shmaddr. See exceptions for MPAS processes below. detaches from the calling process's data segment the shared memory segment located at the address specified by shmaddr. Exceptions for MPAS Processes On Itanium(R)-based platforms, MPAS (Mostly Private Address Space) processes are not restricted to passing in zero or a fixed value to calls to MPAS processes may pass in other addresses. The call may fail or succeed due to implementation dependent reasons. MGAS processes have all the restrictions outlined above. In addition, an MGAS process may not assume that it can attach at the address that an MPAS process can use to attach to the same segment. An MPAS process may be able to attach to the same shared memory segment multiple times. Success or failure of such an operation is imple- mentation dependent. Failure will be indicated by a return value of An MPAS process should specify or flags in the call to These follow the same rules as such flags passed to shmget(2). See the for details. RETURN VALUE
returns the following values: Successful completion. n is the data segment start address of the attached shared memory segment. Failure. The shared memory segment is not attached. is set to indicate the error. The symbol is defined in the header No successful return from will return the value returns the following values: Successful completion. Failure. is set to indicate the error. ERRORS
If fails, is set to one of the following values. [EACCES] Operation permission is denied to the calling process. [EINVAL] shmid is not a valid shared memory identifier, (possibly because the shared memory segment was already removed using shmctl(2) with or the calling process is already attached to shmid. [EINVAL] shmaddr is not zero and the machine does not permit nonzero values, or shmaddr is not equal to the current attach location for the shared memory segment. [ENOMEM] The available data space is not large enough to accommodate the shared memory segment. [EMFILE] The number of shared memory segments attached to the calling process exceed the system-imposed limit. If fails, is set to one of the following values. [EINVAL] shmaddr is not the data segment start address of a shared memory segment. EXAMPLES
The following call to attaches the shared memory segment to the process. This example assumes the process has a valid shmid, which can be obtained by calling shmget(2). The following call to then detaches the shared memory segment. SEE ALSO
ipcs(1), exec(2), exit(2), fork(2), ftok(3C), shmctl(2), shmget(2), privileges(5). in STANDARDS CONFORMANCE
shmop(2)
All times are GMT -4. The time now is 04:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy