07-19-2005
That's right processes will not shrink when you're using the malloc library even indirectly. Maybe you can fork(). Let the child write the data and then exit.
10 More Discussions You Might Find Interesting
1. Programming
Code : function sSaveTFFile
.......................
iRetCode = link (caCurrentFilename, caBackupFilename);
if (iRetCode == -1)
{
ERR_MSG2(LOG_ALERT, "Can't move %s to %s", caCurrentFilename, caBackupFilename);
return(FAILURE);
}
iRetCode = unlink... (6 Replies)
Discussion started by: fermisoft
6 Replies
2. Programming
Dear all,
When I write the daemon programs it is consuming high memory and processor time. How can I avoid this?
But, the system daemons are not consuming more. How?
Can any one explain how the system daemons are handling the memory consumption and processor time.
Thanks,... (1 Reply)
Discussion started by: nagalenoj
1 Replies
3. Programming
Hi
I have an fwrite function in my C++ application. It is able to create the files in HP-UX.
cross is one structure
rec2 is another structure within cross.
fwrite_return = fwrite( &cross.rec2,
sizeof(cross.rec2),
... (14 Replies)
Discussion started by: rkraj
14 Replies
4. AIX
How can i find the processes that is consuming most memory? I tried TOPAS and SVMON and this didn't gave me the desired result. (1 Reply)
Discussion started by: shabu
1 Replies
5. AIX
HI All,
Can anyone send me a command to find TOP 5 Memory consuming process.
It would be lelpful if I get output something like below
processname - pid - memory(in MB) - command
I tried few commands from the internet but the result only give the real memory usage or pagging, I want total... (4 Replies)
Discussion started by: bce_groups
4 Replies
6. Programming
Hi,
my code is written in proC and it is in UNIX(AIX).I have written a small code for writing data into a binary file,but while writing my program is giving core dump.
Here Is my code----
fpWriteFile = fopen(WriteFileName,"wb+");
CHAR *recvgen;
recvgen = (char... (7 Replies)
Discussion started by: ajaysahoo
7 Replies
7. Programming
Hello,
I have a question about what happens when I copy the file which is being written by another process on Solaris 9/SPARC, UFS file system.
in particular, I want to know what happens while some process is reading the file using fread or mmap, another process try to write something on the... (4 Replies)
Discussion started by: wipe3out
4 Replies
8. Shell Programming and Scripting
When I run 'top' command,I see the following
Memory: 32G real, 12G free, 96G swap free
Though it shows as 12G free,I am not able to account for processes that consume the rest 20G.
In my understanding some process should be consuming atleast 15-16 G but I am not able to find them.
Is... (1 Reply)
Discussion started by: prasperl
1 Replies
9. AIX
Hello
There are options / commands to check which process is consuming maximum memory
However is there any command/mechanism which will tell us which process was consuming maximum memory in specific time interval in the past?
I heard nmon report can help in this regard.
is there any... (5 Replies)
Discussion started by: Chetanz
5 Replies
10. UNIX for Dummies Questions & Answers
Platform: Oracle Linux 6.4
To find the most memory consuming processes, I tried the following 2 methods
1. Method1
# ps aux | head -1 ; ps aux | sort -nk +4 | tail -7
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 95 0.0 0.0 0 0 ? ... (2 Replies)
Discussion started by: kraljic
2 Replies
LEARN ABOUT FREEBSD
vfork
VFORK(2) BSD System Calls Manual VFORK(2)
NAME
vfork -- create a new process without copying the address space
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
pid_t
vfork(void);
DESCRIPTION
The vfork() system call can be used to create new processes without fully copying the address space of the old process, which is horrendously
inefficient in a paged environment. It is useful when the purpose of fork(2) would have been to create a new system context for an
execve(2). The vfork() system call differs from fork(2) in that the child borrows the parent's memory and thread of control until a call to
execve(2) or an exit (either by a call to _exit(2) or abnormally). The parent process is suspended while the child is using its resources.
The vfork() system call returns 0 in the child's context and (later) the pid of the child in the parent's context.
The vfork() system call can normally be used just like fork(2). It does not work, however, to return while running in the child's context
from the procedure that called vfork() since the eventual return from vfork() would then return to a no longer existent stack frame. Be
careful, also, to call _exit(2) rather than exit(3) if you cannot execve(2), since exit(3) will flush and close standard I/O channels, and
thereby mess up the parent processes standard I/O data structures. (Even with fork(2) it is wrong to call exit(3) since buffered data would
then be flushed twice.)
RETURN VALUES
Same as for fork(2).
SEE ALSO
_exit(2), execve(2), fork(2), rfork(2), sigaction(2), wait(2), exit(3)
HISTORY
The vfork() system call appeared in 2.9BSD.
BUGS
To avoid a possible deadlock situation, processes that are children in the middle of a vfork() are never sent SIGTTOU or SIGTTIN signals;
rather, output or ioctl(2) calls are allowed and input attempts result in an end-of-file indication.
BSD
November 13, 2009 BSD