|
-
November 14th, 2009, 01:07 AM
#1
Memory mapping & process size
Can memory mapping be used to solve a problem with the size of a running process being too large?
I've been told that Solaris has a process limit of 4GB. There's a process on our system that keeps coring, and it never cores in the same place. Examining the core files shows that usually an address for some argument being passed to some random function has been stomped on. I've also been informed this problem will go away when certain files on the system are cleaned up. These files are read in by the process in question upon startup. Some of these files are rather large, and others, which are quite small are quite numerous, in the vicinity of hundreds of thousands (no kidding!!!) One of the original programmers told me that this process does use memory mapping, but when there are too many files, or they have gotten too large the process will exceed the 4GB limit and crash.
I won't have access to the code until sometime next week, so I won't be able to look through it until then to try to see what the heck it's doing. I'm just trying to get some initial info for the moment before I get around to it.
If the code truly is using memory mapping then it must be doing something rather unusual, or I don't quite understand the concept of memory mapping with regard to the ultimate size of a running process. Surely a memory mapped file isn't included as part of the size of a process is it?
I've personally never had to use memory mapped files, so any info regarding this would be helpful. Thanks.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|