Originally posted by: wacki
That's... really odd. Does it happen when you run a particular application, or just all the time?
My computer only bogs down when I datamine.
Do you know if your data-mining app/apps use memory-mapped I/O to read in the data from disk? Windows might report that as 'paging' activity even if you have plenty of free RAM (but I'm really not sure).
The application uses postGRE sql but the program itself isn't written very well. I have a CS background so feel free to be technical. How do I figure out if the app uses memory-mapped I/O?
Also, firefox literally grinds my computer to a complete stop when I datamine.
I tried to reply to your PM, but you apparently have PM receiving disabled (or else you blocked me for some reason).
Sorry for not getting back sooner... have been out of town with the holidays.
In UNIX, memory-mapped I/O is done using mmap() to, essentially, tell the OS to load part or all of a file into memory (or, more likely, to load pieces of it on demand as you read it) and let you access it like a regular data array. There are similar constructs in Windows (I'd have to look up the API details, though, since I've never personally had to write something using them). Depending on how this is actually implemented, and what perfmon is looking at when calculating 'pages/sec', this may show up as 'paging' activity. If this is the case, the 'pages/sec' indicator may not be a reliable test to see whether or not your application is really using the pagefile as virtual memory.
One way to test this would be to run your application on a very small database (one that should easily fit entirely in RAM) and see if it reports 'paging' activity even if your peak commit charge is smaller than your installed physical memory.
A badly-written app may also have memory leaks, or just be written in such a way that it uses far more RAM than it should to do a particular task. Unless you can get the developer to fix it (or it is open-source or your own app and you can fix it yourself), there may not be much you can do in that case other than adding more RAM or using smaller databases.