Index | Recent Threads | Unanswered Threads | Who's Active | Guidelines | Search |
World Community Grid Forums
Category: Retired Forums Forum: UD Windows Agent Support [Read Only] Thread: Memory Leaks/Usage |
No member browsing this thread |
Thread Status: Active Total posts in this thread: 11
|
Author |
|
coryk
Cruncher Joined: Nov 22, 2005 Post Count: 1 Status: Offline Project Badges: |
Hi,
When I launch the program, Task Manager shows the program using (at this moment) 77MB of RAM. When I stop or start the software, my pagefile use changes by 300MB. Is this typical?! This is awfully high. Thanks. |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Hello coryk,
Depending on the size of the arrays, you might even see it going another 20 or 30 MB higher. [Grin] But the working set seems to stay under 100 MB. This is a real scientific program keeping track of all the atoms in an organic molecule. At one time, only supercomputers were big enough to handle something like this. Rick Alther [programmer] says that he will see if it is possible to reduce the memory footprint any . . . when he can find the time. While boarding FAAH on BOINC Linux and Windows. Welcome to the future. The programs are really big here. mycrofth |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
I'm confused. In Task Manager it shows WCGrid_Autodock.exe with 77.6MB. But, when shutting down the agent, Commit Charge goes down by ~ 300MB. Does this mean that ~ 300MB of RAM is 'allocated' to the agent? If so, doesn't that mean that the pc will go to pagefile before using the 300MB allocated to the agent?
Thanks |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Hello fj,
I have the details about how various operating systems handle virtual memory all confused with each other. But if I really need to look up something for Windows, I keep a book 'Windows Internals' in my bedroom (under magazines and mail catalogs). But in general every OS assigns each process running to Virtual Memory. The pages that are not being used are quickly copied down to Virtual Memory until only the working set of pages is left in RAM. FAAH has always required less than 100 MB of actual RAM (working set of pages) on my computer, even though it uses about 300 MB overall. The real measure of a program's size is the 'working set'. I am not sure that I am directly answering the question that you want to ask. So feel free to ask away! mycrofth |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Mycroft - Thanks.
What I'm worried about is whether Win XP is going to reserve 300MB of RAM for the agent. And, in reserving the 300MB, the system would see the RAM available as [Total RAM] - 300MB. Of couse, the system has it's own requirements for RAM, but I'm just interested in whether the agent is, in effect, reducing the RAM available by 300MB or 77MB [assuming the working set is 77MB] Make sense? |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Hello fj,
Makes sense. Now I understand your question. No, the OS does not 'reserve' any RAM for the WCG. If other programs need the space, then the working set of the WCG application (running at lowest priority) is simply copied down to Virtual Memory, freeing up any memory that was occupied by the working set. Then, when those programs stop running, the working set gets copied back up into RAM and the WCG application starts running again. So it is not a matter of reserved memory, just of priorities. And WCG is always assigned the lowest priority. That is what virtual memory is for. (Just allow Windows to assign as much disk space to Virtual Memory as it requires.) |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
OK. Got that part.
Then, what is the 300MB's in the Commit Charge for? If I've got it right, Windows is actively using ~ 77MB for the working set and has reserved another additonal 233MB of the pagefile. Is it correct that the agent needs all 300MB, but is constraining itself to use only 77MB of RAM? Thanks again. |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
Hi fj,
Almost all of a scientific program consists of big data arrays to hold the results of computation. Suppose you have a thousand terms holding the field strength at a thousand points. If you are using 64-bit floating point, then this takes 8 KB to store. But if you have to invert a matrix, then starting with those thousand terms in one row, you suddenly have a square matrix with a thousand rows and a thousand columns, one million terms taking up 8 MB of storage. When the program is loaded, it suddenly grabs a lot of space for arrays like this, but only part of that space actually gets used, depending on the particular configuration of the molecule. So most of the memory that is committed is just available but not really being used for that particular molecule. Different molecules with different shapes will end up using different parts of the available arrays. It would be a waste to store unused pages in RAM, so they stay down in Virtual Memory unless they are staged up to hold a sudden flurry of calculations. |
||
|
Viktors
Former World Community Grid Tech Joined: Sep 20, 2004 Post Count: 653 Status: Offline Project Badges: |
When I launch the program, Task Manager shows the program using (at this moment) 77MB of RAM. When I stop or start the software, my pagefile use changes by 300MB. Is this typical?! The AutoDock program used for FightAIDS@home does allocate about 300MB of virtual memory and has a typical working set size of 75MB or more. Because of this, to keep the agent from being too obtrusive we set the minimum machine requirements higher for this project (250MB and 550MHZ). |
||
|
Former Member
Cruncher Joined: May 22, 2018 Post Count: 0 Status: Offline |
When the program is loaded, it suddenly grabs a lot of space for arrays like this, but only part of that space actually gets used, depending on the particular configuration of the molecule. So most of the memory that is committed is just available but not really being used for that particular molecule. Different molecules with different shapes will end up using different parts of the available arrays. It would be a waste to store unused pages in RAM, so they stay down in Virtual Memory unless they are staged up to hold a sudden flurry of calculations. NP. The agent can have all the disk space it wants. I think my confusion is what 'Mem Useage' and 'Commit Charge' mean. Is it correct that a program cannot 'reserve' any RAM? So, the RAM available at any point is the total RAM minus what shows in Mem Useage? Thanks. |
||
|
|