ie8 fix
Click Here

Discussion on:

248
Comments

Join the conversation!

-1 Votes
+ -
Are you going to pay for it??
wackoae 25th Feb 2010
Where do I send the bill??
-1 Votes
+ -
forums
alasiri1 Updated - 11th Mar 2011
@wackoae When you do this, witch be tween apps, you will
seriously feel a performance impact.
0 Votes
+ -
RE: Windows 7 memory usage: What's the best way to measure?
Belinda.Higgenbotham Updated - 10th May 2011
@wackoae First of, because Ed noted, the majority of Web page Problems do not create I/O. Hard faults perform, however they don't imply that physical storage has been exhausted or perhaps is being inefficiently used, because some possess claimed.

Keep within thoughts:

one) Tough problems where SuperFetch is actually pre-loading code or even data may benefit efficiency, not really harm this.

two) Hard problems exactly where SuperFetch is positively restoring webpages which have already been changed to drive back into memory when it is made available (such as after exiting a game) will improve efficiency, not really hurt this.

3) Tough problems are produced whenever you run a program which wasn't within the Expedia Coupons cache, or a program delay-loads a DLL not really in the cache. Not really unexpected.

four) Tough faults are produced when a program accesses a brand new web page of the memory-mapped file. For instance, the actual numerous Search Indexer procedures use mapped views with the index documents in order to improve the actual effectiveness with the indexing process. However this activates hard faults when that data hasn't already been cached.

5) It is most likely the deserving trade-off to consider the tough problem on a track record process (computer virus scanner, indexer, and so on) if it stops the hard problem within the foreground process, modulo priority inversion concerns and early I/O (but background + cancellable I/O alleviates this particular).
@wackoae Performance is not only problem compatibility also much important , But win 7 have some flaws regarding internet issue problem . XP have still A+ points comparison to Windows 7 mcdst better approach is use XP but need to improve more .
0 Votes
+ -
Dirty memory and memory priorities
honeymonster 25th Feb 2010
Windows Vista and 7 have a few more tricks up their sleeves. Some of these features have no equivalent in
other OSes - which is why one should be careful to
apply "common" knowledge from other OSes or from
earlier versions. This is where Craig Barth (Randal C
Kennedy) failed.

As many have mentioned, Windows Superfetch is not just
a post-cache as exists in most/all modern OSes.
Superfetch is a pre-cache which will use
predictive heuristics to load into RAM applications
and even data files before you use them for the
first time. The heuristics is based on past behavior
of the user, time of day, day of week and current
activities.

Windows also has memory priorities . Memory
priorities influence what memory will be deallocated
first and which memory pages have priority on physical
memory. This is important especially for a desktop
operating system which must balance background
workload (throughput) against foreground
responsiveness.

Most OSes use a LRU algorithm when swapping (least
recently used). This is generally a good choice when
you value throughput - such as on a server. On a
desktop OS with asymmetrical requirements LRU has some
weaknesses.

Consider search indexing, disk defragmentation,
superfetch and other housekeeping tasks. These all
demand memory to run. Even if they execute with low
CPU priority and will yield CPU as soon as it is
needed, you used to risk these processes conspiring on
you when you went to lunch. When you came back these
processes had caused all memory allocated to
foreground processes (Word, Outlook, browser etc) to
be swapped to disk. The result was that practically
every task you performed after lunch would require
memory to be swapped in from disk. Not until you had
massaged the system would it be fully responsive
again.

This is where memory priorities offer a unique
solution on Windows Vista/7. The background processes
allocate memory with a lower priority. Hence, the OS
will *not* swap out foreground process memory (or will
swap it back ASAP) when a process require memory with
a lower priority. Instead the OS will choose another
equally low memory page to swap out.

This last point is where Randal C Kennedy
completely failed . He defended his claim that
Windows 7 computers maxed out memory referring to the
number of page "faults" - where memory required for a
process needs to be swapped in from page file. With
the Vista/7 memory model you cannot just look at the
number of page faults and go "OMG it is trashing!".

Higher page fault rates may simply be because
background processes are being referred to the page
file more often. You need to look at why memory
page requests "fault" and which processes are hit with
it. If it is the search indexer it is perfectly ok. It
certainly does NOT mean that the memory is maxed out.
0 Votes
+ -
WILL cause performance degradation, regardless of the reason, and
happens when there is insufficient physical memory to hold your
processes.

I don't care what beautiful algorithms Windows has in place to handle
memory. The fact is, they come into play when you are starting to run out
of physical memory.
0 Votes
+ -
Contributr
You're confused
Ed Bott Updated - 26th Feb 2010
Page ins are meaningless in terms of performance if they're soft faults from pages that are already resident in physical memory (ie, the Standby List). They're only an issue if they're hard faults, which are served from disk or from the pagefile.

And yes, they would have come into play had I run out of physical memory. If I had trie to run Photoshop and Premiere on this system I could have ground it to a halt. But doing mainstream business tasks I never, ever exhausted physical memory on a system with 1GB of RAM.

Updated to add: In fact, some of those page-ins represent Windows actively filling the Standby List with with code and data (at low I/O priority) based on SuperFetch settings. Those are counted as page ins but certainly have no effect on performance.
What he said was accurate. He just didn't differentiate between soft and hard page-ins. Given the context I would think hard page-ins would have been assumed.

Likewise what you said is accurate too.
0 Votes
+ -
Contributr
Explanation
Ed Bott 26th Feb 2010
Direct quote from frgough: "a large number of page ins will cause performance degradation."

No, that is not true. A large number of hard faults will cause performance degradation. If one confuses page ins with hard faults, then one draws the original conclusion.
0 Votes
+ -
Same thing.
ye Updated - 26th Feb 2010
Given the context a page-in is the same as a hard fault. In Solaris a soft fault is called a minor page fault whereas a hard fault is called a major page fault. Different terminology for the same thing given the context.
0 Votes
+ -
Contributr
Performance Counters, please
Ed Bott Updated - 26th Feb 2010
In the context of this post, we need to be talking about WMI counters available through one or more of the three Windows tools I describe here. I presume this can be measured in Perfmon. Which counters are you talking about?
I don't know how to be any clearer Ed...the two of you are talking the same thing using different words.
0 Votes
+ -
paging hard/soft
gjsherr 17th Mar 2010
The essential difference between a hard fault and a soft fault does not
involve direction, but only work. A "fault" page is overwritten with
something before it is given to its requestor. A soft fault involves the
clearance of that page (with 0's), or fills with data from another place
somewhere in, or very close to, main memory. A hard fault involves a
page that must pass the I/O controller before the RAM can be modified.
In or Out, a hard fault includes a memory wait to clear a page prior to
buffering the data, to guarantee that the only data present is written
there by the process calling on it.

None of these is related to whether the page was coming or going.
the priority is lower then teh active process. Tweakers, real Tweaks in XP would have adjusted this setting in the Processes task settings. Example in Task Manager by right clicking using the processes tab. But in Vista and 7 this is already preconfigured. It is even more effective at as you use it on a regular basis, 7 this features does work better, and is able to better predict your moves. Who care truely how it works inside the technology, it just works as advertised.

This Artical is mis-understood by the negative responces. Remember the Author used 1 GB to express how functional it is with minimal RAM installed which is required by the OS setup. It wasn't used to express that you will have a high performance Beast using 1 GB. It's goal was to express solely how well Windows can manage that RAM. Peps need to stop putting text in this Authors descriptions. All it was saying within limits of similar XP requirments, Vista and 7 can do similar with far better memory management, then anything else MS as released, and does it more efficently!! And it does this wanting more member for core components, and services
0 Votes
+ -
This is incorrect.
BrandonLive 1st Mar 2010
First of all, as Ed noted, most Page Faults do not generate I/O. Hard faults do, but they do NOT mean that physical memory has been exhausted or is being inefficiently used, as some have claimed.

Keep in mind:

1) Hard faults where SuperFetch is pre-loading code or data will benefit performance, not hurt it.

2) Hard faults where SuperFetch is actively restoring pages which have been swapped to disk back into memory when it is made available (such as after exiting a game) will improve performance, not hurt it.

3) Hard faults are generated when you run a program which wasn't in the cache, or a program delay-loads a DLL not in the cache. Not unexpected.

4) Hard faults are generated when a program accesses a new page of a memory-mapped file. For example, the various Search Indexer processes use mapped views of the index files to improve the efficiency of the indexing process. But this triggers hard faults when that data hasn't been cached.

5) It's probably a worthy trade-off to take a hard fault on a background process (virus scanner, indexer, etc) if it prevents a hard fault in the foreground process, modulo priority inversion concerns and untimely I/O (but background + cancellable I/O alleviates this).
0 Votes
+ -
I smell a XP FanBoy
Ez_Customs 7th Mar 2010
Comming from somone who is a Fan Boy of XP, I bet. XP has this Problem. Vista and 7 don't. If it does happen, it's rare and you more then likely, will not notice it unless you have poor hardware (Memory respectively) config. Vista and 7, will perform such a function that you describe while in an idle state usually if possible, if it has to be done that second, the process will have low priority. Result is seemless, and mostly unknoticed! Better learn to shop the hardware, and don't buy it just because the price makes it look like top of the line stuff!

No I am not trying to start an arguement, but I Have been in Vista Sence day 1, and Windows 7 shortly after Vista release.
0 Votes
+ -
@frgough First of all, as Ed noted, most Page Faults do not generate I/O. Hard faults do, but they do NOT mean that physical memory has been exhausted or is being inefficiently used, as some have claimed.

Keep in mind:

1) Hard faults where SuperFetch is pre-loading code or data will benefit performance, not hurt it.

2) Hard faults where SuperFetch is actively restoring pages which have been swapped to disk back into memory when it is made available (such as after exiting a game) will improve performance, not hurt it.

3) Hard faults are generated when you run a program which wasn't in the cache, or a program delay-loads a DLL not in the cache. Not unexpected.

4) Hard faults are generated when a program accesses a new pag orjin krem altin cileke of a memory-mapped file. For example, the various Search Indexer processes use mapped views of the index files to improve the efficiency of the indexing process. But this triggers hard faults when that data hasn't been cached.

5) It's probably a worthy trade-off to take a hard fault on a background process (virus scanner, indexer, etc) if it prevents a hard fault in the foreground process, modulo priority inversion concerns and untimely I/O (but background + cancellable I/O alleviates this).
0 Votes
+ -
@frgough I don't care what beautiful algorithms Windows has in place to handle
memory. The fact is, they come into play when you are starting to run out
of physical memory. orjin krem tutune son nanomatik
0 Votes
+ -
@frgough What he said was accurate. He just didn't differentiate between soft and hard page-ins. Given the context I would think hard page-ins would have been assumed. pembe maske energy balance oyna oyunu moliva orjin krem tutune son nanomatikLikewise what you said is accurate too.
0 Votes
+ -
Memory may still be scarce
honeymonster 25th Feb 2010
Virtualization is becoming more and more
common. When you run multiple virtual machines
on one physical machine, available memory often
becomes the bottleneck that limits the number
of VMs.

Hence, responsible memory management is still a
virtue. Perhaps not for the home/laptop/desktop
user, but for enterprise users on virtual
machines it *is* an issue which cannot always
be solved by throwing RAM block into the
machine.
0 Votes
+ -
That is so wrong
s_souche 26th Feb 2010
"On a typical Windows 7 system, the amount of memory
represented by the Committed Bytes counter is often
well in excess of the actual installed RAM, but that
shouldn?t have an effect on performance."

Commited memory is the memory that is actually used by
your processes. This virtual memory can be either
mapped to physical memory or to swap. As long as you
are using applications that have their memory mapped
to physical memory everything is swell and this
application does not suffer negative impact from the
lack of physical memory. But application whose data is
swapped are stopped as they cannot work.

If you switch to an application that is sapped, the
operating system will have to rearrange memory,
loading to physical memory the working memory of the
app you need and putting as much as it can to swap to
allow for that.

When you do this, witch between apps, you will
seriously feel a performance impact.

Any app that as to perform background work will also
be very impacted by lack of physical memory even if
the system does not warn you about lack of memory. You
are only warned of lack of virtual memory
0 Votes
+ -
Not quite
honeymonster 26th Feb 2010
You assume that every process which allocate memory are using it all the time.

If every application was constantly reading and writing all of its allocated memory, you would be right: They would be fighting for physical memory.

But as it turns out, *most* applications actually allocate memory but do not access all of it all the time. Few applications do, actually.

Consider Word loaded with a big/huge document with lots of images etc. What urgently needs to be in memory is actually only the part you are presently viewing and the immediate content to which you are likely to scroll. If you page up/down there is *ample* time to swap in memory from disk.

Consider search indexer. It is a background process which will spring into action when 1) it detects that changes may have been made and 2) you machine is idling. It may be preempted when you are using your computer - like scrolling in Word. Should it just throw away everything it had done until preempted, or should it just accept that it's memory will be paged to disk? The latter is in fact *perfectly ok* - as the process itself is low priority.
0 Votes
+ -
Depends on what you are doing
s_souche 26th Feb 2010
If you have multiple applications running that
have allocated more than your physical memory,
and that are actually running, and not sitting
around, you can expect them to use allocated
memory. A word document is using the memory it
allocated, You are perhaps not using a any
given time all the pages of your document, but
if the doc is swapped and you start a search or
jump to another page, you will feel the perf
impact real hard, as you'll have to wait fo
windows to have finished unswapping.
0 Votes
+ -
Contributr
You really need to read up on this
Ed Bott 26th Feb 2010
Raymond Chen:

http://blogs.msdn.com/oldnewthing/archive/2009/10/02/9902146.aspx

Mark Russinovich:

http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx

Rad the section on Committed Memory.

And the official MSDN documentatin:

http://msdn.microsoft.com/en-us/library/aa366803(VS.85).aspx

Money quote: "committed pages do not consume any physical storage until they are first accessed..."
0 Votes
+ -
Contributr
Sorry, not correct
Ed Bott 26th Feb 2010
Committed memory does not represent physical memory in use. It is simply virtual memory that has been reserved and committed by a process. Read Russinovich's article (or MSDN docs) and you will see how easy it is for an app to commit a large number of pages (representing several GB of virtual memory) while actually using only a trivial amount of physical memory.

Swapping does not begin until you exhaust physical memory, which never happened here.
Very helpful article. Since the primary tool used was the resource monitor, it would be helpful to then go into more detail on understanding the memory values per process listed within it. Then, it would give a great overview of memory usage as well as an accurate idea of specifically where it is going.

Danny
0 Votes
+ -
go to sysinternals
s_souche 26th Feb 2010
and retrieve processxp. you will have all needed
per process infromation to analyse your system
behavior
0 Votes
+ -
nt
Calling in the guy who quoted a 14 year old
book on Windows NT to back up his ludicrous
(and universally rebutted) claims about Windows
7 memory management?

They guy who doesn't know that since Windows NT
the memory management in Windows has
drastically changed, e.g. with Superfetch and
memory priorities?

Yeah, let's trust him. If we can get him to say
something unfavorable about Windows 7 runaway
success, it MUST be true, right?
0 Votes
+ -
translation
eggmanbubbagee@... Updated - 26th Feb 2010
"I have nothing to rebut Ed Bott on this Randall, seems nobody else does either, would you please come and at least toss some meaningless jargon around so we don't look like idiots. We need to keep some tiny remnant of FUD buzzing on this one, it might mean an IT department somewhere may hold off on their planned deployment of Windoze 7!!"

"paging" Randall Kennedy,now that would be clever if he intended it but I suspect not

he must be in the swap file eh?
0 Votes
+ -
Nice translation
Cylon Centurion Updated - 26th Feb 2010
Spot on.
0 Votes
+ -
The more RAM it uses the less reliable the system is, it's as simple as that.

Any decent geek should know that memory errors are hundreds to thousands of times higher than thought. Use more RAM than you need and the likelihood of failure will rise proportionately.
0 Votes
+ -
So what should we do?
WinTard 26th Feb 2010
You mean 2^64 = 18,446,744,073,709,551,616 bytes of RAM accessible via linear addressing mode of all (x64) bit CPUs shouldn't be utilized fully?

That we should remain in prehistoric times? Why not still use 4-bit CPU, just to increase reliability and decrease the memory costs?

A 64-bit CPU is defined by the width of 1) its Address bus (64-bits) and 2) its Data bus (64-bits) for I/O...

So, should we forgo 64-bit CPUs? Just to be safe?
0 Votes
+ -
We should use ECC RAM.
The Mentalist Updated - 26th Feb 2010
But most of us don't so our software must use RAM sparingly or cause increased failure rates.

As usual M$ chooses the wrong path.
0 Votes
+ -
Once again shows your...
barefoot1976 26th Feb 2010
Inability to grasp your own truth! "We should use ECC RAM but most don't!"

So to rephrase YOUR assertion! Microsoft should label their product packaging :"This program should not be used on Motherboards that do not have ECC memory! This product is only rated for use with ECC memory that meets or exceeds our specifications!"

UH... The MOTHERBOARD manufacturers sets up the ram requirements for their products! That SAME motherboard can accept LINUX, DOS, OR WINDOWS as the OS! (even, God forbid WindowsME) Therefore if I only use a motherboard that has been equipped with ECC ram, Windows Or Linux OR Dos will run better!

WELL DUH!!!

Tell you what! Lets all spend out hard earned money on a system that runs only on RAMBUS memory so we won't have to worry about errors in memory!

Once again MENTAL, you just proved your worth as a computer novice! wink
0 Votes
+ -
then you shouldn't be putting 20 tons on it.

Basically that's what M$ is doing.

P.S. You mean 'Mental' as in having a mental advantage on you, right?
  • Flagged
0 Votes
+ -
But if you need to carry more than 3 tons ...
de-void-21165590650301806002836337787023 26th Feb 2010
... and you hook up a powered trailer that allows you to carry extra 17 tons, you're good, right?

Good, because that is what virtual memory paging does for you.

By the way, you know that UNIX and even Linux pages memory to/from disk when you consume most of your physical RAM, right?

Once again, like your utter lack of knowledge about caching, your significant misunderstanding of virtual memory shows just how much you have to learn.
0 Votes
+ -
Not true
Cylon Centurion 26th Feb 2010
Memory usage has nothing to do with system stability.
0 Votes
+ -
Exactly!
The Mentalist 26th Feb 2010
But that's only true as long as you keep it unpowered. In fact that's your only option to inject reliability into a windows system.
0 Votes
+ -
Again not true
Cylon Centurion 26th Feb 2010
My box is powered up 24/7
0 Votes
+ -
How do you keep RAM unpowered?
WinTard 26th Feb 2010
Concrete examples please? Links? I mean, I am attempting to take you seriously?
0 Votes
+ -
You need to learn some Physics.
The Mentalist 26th Feb 2010
But start with the basics, you have to walk before you can run. Start with the Ancient Greeks.
0 Votes
+ -
Physics has nothing to do with this dude
Cylon Centurion Updated - 28th Feb 2010
nt
0 Votes
+ -
Like I said: Start with the basics.
The Mentalist 26th Feb 2010
You confuse holding a charge with being powered.

BIIIIIIG mistake!!!!!

You can't even start by studying the Ancient Greeks, that's too advanced for you. I suggest you start by studying the South American Shamans then the ancient Greeks.
0 Votes
+ -
Oh great trolling answer...
WinTard 26th Feb 2010
DRAM stands for Dynamic Random Access Memory

SRAM stands for Static Random Access Memory

Basically DRAM consists of one single transistor per cell, whereas SRAM requires at least six transistors, arranged in a Flip-Flop stable fashion.

Dynamic random access memory (DRAM) is a type of random access memory that stores each bit of data in a separate capacitor within an integrated circuit. Since real capacitors leak charge, the information eventually fades unless the capacitor charge is refreshed periodically. Because of this refresh requirement, it is a dynamic memory as opposed to SRAM and other static memory.

The advantage of DRAM is its structural simplicity: only one transistor and a capacitor are required per bit, compared to six transistors in SRAM. This allows DRAM to reach very high density. Unlike flash memory, it is volatile memory (cf. non-volatile memory), since it loses its data when the power supply is removed. The transistors and capacitors used are extremely small -- millions can fit on a single memory chip.

Want more Greek?
  • Flagged
0 Votes
+ -
It would have avoided unnecessary duplication.
.
  • Flagged
0 Votes
+ -
LOL, that's a good one.
rtk 26th Feb 2010
Your system is stable when it's not turned on?

You know ram is powered all the time, right? Doesn't matter if it's storing data or all zeros, it still draws power.
  • Flagged
0 Votes
+ -
Interesting!
The Mentalist 26th Feb 2010
You could build a perpetual motion machine based on that phenomenon. You know trhat, don't you?

Why don't you try to build one?

Join the conversation!

Formatting +
BB Codes - Note: HTML is not supported in forums
  • [b] Bold [/b]
  • [i] Italic [/i]
  • [u] Underline [/u]
  • [s] Strikethrough [/s]
  • [q] "Quote" [/q]
  • [ol][*] 1. Ordered List [/ol]
  • [ul][*] · Unordered List [/ul]
  • [pre] Preformat [/pre]
  • [quote] "Blockquote" [/quote]
ie8 fix

The best of ZDNet, delivered

ZDNet Newsletters

Get the best of ZDNet delivered straight to your inbox