perfmon.exe - --- pages/sec maxed

wacki

Senior member
Oct 30, 2001
881
0
76
I run perfmon.exe and my pages/sec are maxed. I have an Asus A7n8x deluxe, seagate baracuda IV HD, 1 Gig ram, and AMD 2400+ barton

CPU is mainly idle but pages/sec are always maxed when I run my standard datamining programs. What can I do to get rid of this bottle neck? What hardware do you suggest?
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
In Task Manager, are you running out of RAM (look at the 'Total' under 'Commit Charge', and how much 'Physical Memory' is 'Available')? If your program/programs are using more than 1GB of RAM, you're going to be hitting the swapfile. Potentially quite a lot. The solution in this case is to add more RAM.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: wacki
http://img502.imageshack.us/img502/8659/perfmon3jb.jpg

Here is seems I'm ram limited although even when my commit charge is rather low I still get tons of paging.

Your peak commit charge (maximum allocated memory since you last rebooted) is almost 3GB. You only have 768MB of RAM (at least, Windows is only seeing 768MB of RAM). At the time of that snapshot, you've got almost 1GB of memory allocated.

You don't have nearly enough RAM in that system for whatever it is you're doing. Run fewer programs at once, or mine smaller databases, or something. Or buy more RAM. Your performance will be horrible unless you reduce your RAM usage or increase your installed RAM size.
 

wacki

Senior member
Oct 30, 2001
881
0
76
Ya, I figured that. Sill, even when my commit charge is low (say 500MB) I still max out my paging. So right now the lack of ram is a problem but normally it's not.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: wacki
Ya, I figured that. Sill, even when my commit charge is low (say 500MB) I still max out my paging. So right now the lack of ram is a problem but normally it's not.

That's... really odd. Does it happen when you run a particular application, or just all the time?

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).
 

wacki

Senior member
Oct 30, 2001
881
0
76

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.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
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.