07-19-2005
Help -fwrite consuming lot of memory !!!
Hi ,
I am running a C/C++ program on a solaris 5.8 machine. This parituclar application has a module which saves data to a file. The module uses fwrite() function to save data.
The fwrite function write about 500 MB of data to a file. The problem which I am facing is, the memory consumtion of the process increases during the fwrite but does not decrease once the fwrite is over.
I tried fflush(filepointer) after the fwrite but did not help.
The fwrite function writes all the data in once single fwrite() statement. I initially thought the increase in memory was because of this. So I tried writing data in smaller chunks of sizes 100 MB and 50 MB but still the memory utilization of the process does not decreases once the fwrite is over.
As a result a lot of the main memory is being eaten by this process and thus making the system very slow.
Please help me .
Thanks in advance
ajphaj
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 OPENSOLARIS
fwrite
fwrite(3C) Standard C Library Functions fwrite(3C)
NAME
fwrite - binary output
SYNOPSIS
#include <stdio.h>
size_t fwrite(const void *ptr, size_t size, size_t nitems, FILE *stream);
DESCRIPTION
The fwrite() function writes, from the array pointed to by ptr, up to nitems elements whose size is specified by size, to the stream
pointed to by stream. For each object, size calls are made to the fputc(3C) function, taking the values (in order) from an array of
unsigned char exactly overlaying the object. The file-position indicator for the stream (if defined) is advanced by the number of bytes
successfully written. If an error occurs, the resulting value of the file-position indicator for the stream is unspecified.
The st_ctime and st_mtime fields of the file will be marked for update between the successful execution of fwrite() and the next successful
completion of a call to fflush(3C) or fclose(3C) on the same stream or a call to exit(2) or abort(3C).
RETURN VALUES
The fwrite() function returns the number of elements successfully written, which might be less than nitems if a write error is encountered.
If size or nitems is 0, fwrite() returns 0 and the state of the stream remains unchanged. Otherwise, if a write error occurs, the error
indicator for the stream is set and errno is set to indicate the error.
ERRORS
Refer to fputc(3C).
USAGE
Because of possible differences in element length and byte ordering, files written using fwrite() are application-dependent, and possibly
cannot be read using fread(3C) by a different application or by the same application on a different processor.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
write(2), fclose(3C), ferror(3C), fopen(3C), fread(3C), getc(3C), gets(3C), printf(3C), putc(3C), puts(3C), attributes(5), standards(5)
SunOS 5.11 24 Jul 2002 fwrite(3C)