In Win7 32-bit installed memory 4GB (932 MB usable)

tofig

Honorable
Oct 28, 2013
9
0
10,510
Hi,

To give you some background recently I have bought a notebook which was shifted with Windows 8. Bt since this has no touch screen and laptop is mainly used by my kind I decided to reinstall it with Windows 7 32 bit. I have explicitly chosen 32 bit because my kind is using a lot of legacy software and some of these are not running on Windows 7 64 bit in 32 bit mode as well. So having Windows 7 32-bit in this case was a deliberate choice….

Now the problem; when I install Windows 7 32-bit I see Installed memory 4GB (932 MB usable). Task Manager also shows only 932 MB. All the drivers are installed and I don’t see any unrecognized devices in Device Manager.

Just to troubleshoot I have re-installed the notebook with Windows 7 64-bit. All of 4GB were available in case of 64-bit OS.

What I see on Microsoft website is that Windows 7 32-bit can address 4GB, so this should not be a problem. Any idea how to overcome this issue???

Notebook is HP Pavilion g7-2204sd; specifications can be found here: http://tweakers.net/pricewatch/322306/hp-pavilion-g7-2204sd/specificaties/


Thanks in advance!

Tofig


 
Solution
Before I updated BIOS I might have checked to see if there was a setting there where you can allocate system memory to the graphics adapter. There often is.

Did you have a look at that and does your new BIOS contain a similar setting?

It may be that updating BIOS caused this setting to default to something other than your previous version of BIOS was set at.

You can re-enable the virtual memory manager now that we know that there is an access problem with actual RAM.

As an experiment, and I would be very grateful if you tried this, would you go back to 'msconfig' and 'check' the 'Maximum memory' box and enter '3221225472' into the field. That sets the maximum memory to 3 GB.

Restart your machine and check out what difference it...

tofig

Honorable
Oct 28, 2013
9
0
10,510
Indeed there were no Win 7 drivers, only Win 8 drivers...
So I justs wrote down the devices when notebook was operational on Win 8 and then have downloaded the Win 7 versions of the drivers form HP website.

Actually when I install Win 7 64-bit even before installing any drivers memory is working OK.
 

himnextdoor

Honorable
Oct 26, 2013
704
0
11,160
If you select 'Resource Monitor' from the 'Performance' tab in Task Manager and then select the 'Memory' tab, there is a bar about halfway down the page that show how the memory is allocated.

What is the total memory reported here?

Also, as a matter of course, I would Google 'Intel Driver Update Utility', follow a link to Intel where you can download the tool and run it.

At your first attempt, it will download and install software necessary for the tool to work and you will have to press the link on the Intel page again in order to actually run the utility.

When the tool runs it will list the software it can help you with. There will probably be a Graphics Driver, which I would take but what you should be looking out for is an update for the Chipset Drivers. Download and install these updates.

Windows Update can often provide some driver updates for hardware in its 'Optional Updates' list. You should check here for anything useful.

But check out the 'Memory' tab in Resource Monitor to see how you memory is being allocated first.

Incidentally, I have always found that 32-bit Windows systems incorrectly report the amount of installed memory but as long as the memory is registered in BIOS, applications such as sound/video production software are able to make use of it.

And, in general, with 4 GB of memory installed, I would turn off the 'Paging File' function from Control Panel>System>Advanced system properties then...

...Select the 'Advanced' tab then click the 'Settings' button under Performance.

Select 'Advanced' tab here and click 'Change' under virtual memory. Here you can de-select 'Automatically manage...' and check the 'No Paging File' setting then press set.

This should improve performance slightly and you are able to delete the 'pagefile' file which is hidden on the C:\ drive. This will get you 3 of 4 GB of extra space on the drive.
 

tofig

Honorable
Oct 28, 2013
9
0
10,510
@himnextdoor:

Thank you very much for your recomendations. I have followed these, but unfortunately still 932MB instead of >3GB...

------------------------------------------------------------------
Resource Monitor was showing info similar to what I had earlier, specifically talking the following

Physical memory 848MB in use and 84MB available

Below that

Hardware reserved: 3164MB
In use: 848 MB
Modified: 0 MB
Satndby: 82 MB
Free: 2MB

Below that is a table

Available: 84MB
Cahched: 82MB
Total: 932 MB
Installed: 4096 MB

------------------------------------------------------------------

As for 'Intel Driver Update Utility' I have found it on Intel webste. When I run the tool (it is an ActiveX in IE) it showed that Graphics Driver had a newer version, all the rest (including Chipset) was up-to-date. I have updated the driver as you recomended and did a reboot. After reboot stil the same situation...

After this I have checked Windows Updates. There was indieed optional update for Graphics Driver , so I have chosen it and started the install. Install failed with a code; I have checked the code and it seemd to be indicating that "a driver already installed or newer version of the driver is already installed"

------------------------------------------------------------------

What would you recomend to do further.
 

himnextdoor

Honorable
Oct 26, 2013
704
0
11,160
Okay.

Well, doing the maths, according to the info you provided:

There is 4096 MB (4 GB) of memory installed and this breaks down to -

There is 3164 MB that is hardware reserved plus

848 MB in use plus

84 MB available.

3164 + 848 +84 = 4096 (4 GB).

I think that what is meant by 'hardware reserved' is actually 'memory not used by Windows'.

As I say, I think this is just a case of poor reporting by Windows and in fact, that missing 3 GB of memory is available to any applications that requires it.

Try this -

1) Turn off the 'Virtual Memory',
2) Start an application such as Nero, if you have it, and try to convert a video from one format to another,
3) Play a DVD from the DVD drive.

While the conversion is underway and the DVD is playing, have another look at the Resource Monitor.

With only 84 MB of memory available to your running application, I would expect 'Out of memory' messages to pop up since the virtual memory manager is switched off and therefore there is no pagefile swapping going on.

Does this all result in the numbers changing in Resource Monitor?
 

tofig

Honorable
Oct 28, 2013
9
0
10,510
himnextdoor:

How can I turn off the 'Virtual Memory'?

To be honest I dont think this is a reporting problemm becaise the performance of the notebook is terrible... But I will try.
 

tofig

Honorable
Oct 28, 2013
9
0
10,510
I have found a post with a similar problem and they advice to update the BIOS

http://www.tomshardware.co.uk/answers/id-1634630/4gb-ram-929mb-usable-windows-bit.html



But to be honest I am little bit unsure... The problem is that for this model there were only Win8 drivers. Also the official BIOS update for this model is compatible with Microsoft Windows 7 (64-bit) and Microsoft Windows 8 (64-bit) So not Win7 32-bit.

here is the link to that driver:
http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=ob-124259-1&cc=nl&dlc=nl&lc=nl&os=4132&product=5316595&sw_lang=

The drivers I have used were from another HP model, with same motherboard chipset and same processor. For things like video or network card it is not risky, it may not work but in that case you just install another driver... For BIOS I am little bit afraid, it may screw up everything.

I have used drivers from this link
http://h20565.www2.hp.com/portal/site/hpsc/template.PAGE/public/psi/swdHome/?sp4ts.oid=5217800&spf_p.tpst=swdMain&spf_p.prp_swdMain=wsrp-navigationalState%3DswEnvOID%253D4054%257CswLang%253D%257Caction%253DlistDriver&javax.portlet.begCacheTok=com.vignette.cachetoken&javax.portlet.endCacheTok=com.vignette.cachetoken



and here is the link to the specs of the notebook I have used for drivers

http://tweakers.net/pricewatch/316473/hp-probook-6570b/specificaties/
 

himnextdoor

Honorable
Oct 26, 2013
704
0
11,160


To turn off Virtual Memory:

Select 'System' in Control Panel. (It's in 'System and Security' if you are in 'Category' view.)

Click on 'Advanced system settings'.

Click on the 'Settings' button under 'performance.

Click on 'Advanced'.

Click on 'Change'.

Un-check 'Automatically manage...'

Check 'No paging file'.

Click 'Set'.

'Okay' out of all the property boxes and you are done.

This will reduce the disk load and increase the memory load which is what we want.

Now, if you run a memory and CPU intensive task, if there is only 84 MB of memory available, then you should see that in the performance.

Do the tasks perform well in this configuration?

If they do then the memory is available and if they don't, it would appear not to be.

Did you check out Hawkeye's suggestion?

I would be surprised if that box was ticked.

If the box isn't ticked, to carry on from Hawkeye's solution, tick it and enter into the box '2147483648' which is 2 GB.

Then 'Restart'.

When you do this, do you notice any difference with in performance? Do the numbers change in Resource Monitor?

As another possible consideration - do you have a lot of HP software installed on your system? And do you actually use any of it?

I would uninstall any HP stuff that I don't need which could be all of it.

Sometimes computer suppliers like Acer and HP pre-install software that has control over system configuration.
 

himnextdoor

Honorable
Oct 26, 2013
704
0
11,160


This is true in which case running a task like 'Notepad' should cause an 'Out of memory' message to appear.

So far, no such message has been reported.

Poor performance might be due to something else?
 

tofig

Honorable
Oct 28, 2013
9
0
10,510
I did all of the above actions and can confirm that this is really a memory adressing issue(so not reporting or driver relate).

I run out of memory when several things are started.
And msconfig settings were OK.

After this did not help I proceed with BIOS update. I did not risked to use BIOS of another HP model (which was Win 7 compatible), because version # looked very diffrent, so I decided to use original BIOS update. Original did not worked on Win7 32-bit, because as documentation said it was only Win7-64 and Win8-64 compatible. So I reinstalled the notebook with Win7-64 and run the BIOS update on top of that.

After this I installed Win7 32 bit again and can see usable memory become 2.7 GB. It is not completely solved because I am actually still loosing 1.3 GB of RAM. But it is better than what I had earlier.

Any suggestions on further improvement?
 
First off, NEVER turn off Virtual Memory; all Windows Addressing is done by the virtual memory subsystem, all disabling Virtual Memory does is force a 1:1 Physical/Virtual RAM address matching. Causes far more issues then its worth, for no benefit.

My main question here, given you are using a notebook: What's the GPU? I'm betting its a crappy Intel iGPU, which reserves somewhere on the order of 2GB of RAM for the GPU.

1 GB overhead + 2GB reserved for Intel GPU = 3 GB reserved by the system.

That's my best guess.
 

himnextdoor

Honorable
Oct 26, 2013
704
0
11,160
Before I updated BIOS I might have checked to see if there was a setting there where you can allocate system memory to the graphics adapter. There often is.

Did you have a look at that and does your new BIOS contain a similar setting?

It may be that updating BIOS caused this setting to default to something other than your previous version of BIOS was set at.

You can re-enable the virtual memory manager now that we know that there is an access problem with actual RAM.

As an experiment, and I would be very grateful if you tried this, would you go back to 'msconfig' and 'check' the 'Maximum memory' box and enter '3221225472' into the field. That sets the maximum memory to 3 GB.

Restart your machine and check out what difference it make to your readings.

Then go back and change the maximum memory to '1073741824' (1 GB), restart and see if your numbers change at all.

Please.

I'm just wondering, does the system take its cue from BIOS or from settings that Windows determines work best. Maybe there is a setting in BIOS where you can set the system to make the choices about RAM allocation.

I think that this is definitely a 32-bit versus 64-bit issue.
 
Solution

himnextdoor

Honorable
Oct 26, 2013
704
0
11,160


I would be inclined to agree with you if it weren't for the fact that the OP reported that all 4 GB of memory was available to the 64-bit Windows environment.

So, even if the Intel graphics processor does make high demands on the memory, Windows 7 64-bit said 'No' and Windows 7 32-bit said 'Sure, take as much as you like'.

What's the difference? Same hardware, different results; how can this problem not be due to the 32-bit environment?

It seems to me that it is Windows 7 that is deciding how to allocate RAM, not the GPU adapter.

And the only way I can see this being down to the graphics side of thing at all is if the 32-bit drivers on this system are inefficiently coded. Perhaps they don't take the space above 4 GB into account, you know, the memory that is mapped to above 4 gig for the private use of drivers, the memory that I believe is exempted from page swapping?

Perhaps the driver fails to register its demands correctly and forces Windows to allocate twice the RAM even though the GPU will only ever use half of it.

This is easily checked by uninstalling the graphics adapter and then look at the situation when the GPU is making no demands at all. If it's a graphics driver problem then this should show up as more available memory in Resource Manager.

Taking you up on your Virtual Memory point: Firstly, as far as I'm concerned, turning of the VMM resulted in the first direct evidence that there was a problem in accessing real memory. So, never say never.

As you are probably aware, the VMM argument is a long-running one and has two sides. I think that it is not a coincidence that the pro-VMM side are also pro-Microsoft and the not-so-pro-VMM side are more critical of Microsoft.

We say things like, 'If Microsoft are so good then why do we need virus protection that can protect their software more efficiently than Window Defender can?' or 'Why do third party defragmenters performs so much better than Windows' one does' or, one of my favourites, 'If Microsoft are so good then why is there a constant flood of security and compatibility updates flowing from them?'

Look at Cubase, Sound Forge, A/V converters or re-coding tools... all of these do a huge amount of processing and what they all have in common is that they handle the system resources much more efficiently than Windows does.

This is not news though. Don't you remember the old joke about 'Microsoft Works' being an oxymoron?

In Windows 98, having over 768 MB of RAM enabled me to switch off VMM about fifteen years ago. This gave me a 40% increase in disk performance. I know, Windows 98, and XP wasn't much better and they do say that they had cracked it by Vista and its successors, but that was fifteen years ago and I haven't had it on since.

Don't get me wrong, I'm not saying that I didn't have problem - VMM being switched of was the reason that my Office Helper wouldn't start. It was funny how the software didn't rightly know why it wouldn't start, it just kept telling me to 'Reinstall Microsoft Office'.

My Encarta DVD wouldn't install either and again, the Microsoft software failed to realise why.

(In fact, funny aside, every time I ran Encarta, I would get an error and a box would pop up asking if I wanted to send a report to Microsoft. I kept pressing 'Don't Send' until out of desperation, I tried 'Send'.

Well, a message came up saying 'finding IP', then 'IP found', then 'sending report' and finally a message came up that said 'Report Sent' and the box closed.

The funny thing was, I had no modem on my desktop for political purposes and in any case, I had no access to any internet connection whatsoever.

Microsoft, huh?)

Okay, well it's true that serious benchmarking has shown that on average, one only achieves a 1.2% increase in performance as a maximum if the VMM is turned off but this doesn't tell the whole story.

We are thinking about it the wrong way round; it's not that 'switching off the VMM causes an increase in performance', it's that switching it on reduces the computer's performance. And that 'one percent reduction' is solely due to the fact that the VMM is enabled.

When it comes to benchmarking, identical scenarios are processed with one set of processes being performed with VMM enabled and another set with it disabled. Repeat a few times and look at the average.

The problem with this approach is that VMM doesn't have to work at all, the processes running while it is enabled can be run without it. If VMM is idling then it is not surprising that at doesn't load the system.

But just look at how the frame-count is decreased when VMM does have to do some work.

A better test would be to remove half the memory to ensure that a game like Crysis will run out of memory with VMM disabled and then benchmark the difference. The game will work with VMM enabled but look at the frame-count with just 2 GB of memory - it drops like a rock, doesn't it?

Not only that, while VMM is reading or writing the disk or memory, the application has to wait for VMM to complete.

It is ludicrous to deny that the VMM is a poor substitute for extra memory.

To put it another way, if two busy processes are sharing the same RAM which is managed by VMM are being alternately suspended/resumed, then how can there not be a hit on performance.

And something else that amused me about one the benchmark reports was that although the author had conceded that there was a slight, in his opinion insignificant, performance hit by VMM, the 'peak limit readings' were about 80% with VMM off and 40% with it on and he stressed this.

However, what he seemed to have failed to realise is that when VMM is enabled, the amount of available memory is effectively doubled to include the swap file. This means that the peak limit is also doubled and 80% of 4 GB is about the same as 40% of 8 GB so no real story there after all. The VMM is doing nothing. Even the available memory figures stay roughly similar.

It turn out that if you have loads of memory, you simply do not need VMM. The apps and the technology can take care of it and Windows can keep out of it.

Unless you really need to reduce your performance slightly.

The tramp living at the bottom of my garden isn't doing any harm but I'd still like him to go away. He keeps eating all the bird-seed.

And to quickly finish up - in fifteen years I have never come across a BSoD that can be directly attributed to a disabled VMM. Like I said, I have had problems with software but these have been caused by bad coding of the software which is often from Microsoft and you would think that MS software coders would know that Encarta needed VMM enabled to run rather than just crashing and lying to me about going onto the internet.

It is the same with blue screens. They are the result of bad coding by programmers who have to rely on VMM to compensate for the fact that they can't manage their index tables properly.

It's a bad day for programming when we have to rely on VMM to ensure that drivers use the stack correctly. In other words, VMM sort of behaves as an error checker as well. And that take CPU cycles of time.

In the end, if an app causes a blue screen when VMM is off, blame the app.

Sorry if I went on.
 

tofig

Honorable
Oct 28, 2013
9
0
10,510


I am not specialist in this , but I think assumption "1 GB overhead + 2GB reserved for Intel GPU = 3 GB reserved by the system." is not correct. Because when I checked the Shared Memory of the graphics adapter it was only about 250MB. I cant confirm this anymore because the situation has changed, but my assumtion was that 250MB of the graphics adapter were part of 932 MB usable...

Another thing is that I actualy had the problem before the graphics adapter was installed. Graphics adapter was not recognized by OS until I have explicitly installed it.

So my conculusion is in line with yours and it is indeed "32-bit drivers on this system are inefficiently coded" issue. But I think it is not graphics adapter driver, but rather driver for the mother board chipset driver problem...

By the chanse I have mentioned this problem to a collegue and when he checked his notebook (differnt brand) and noticed the similart issue. Only about 2.5GB out of 4GB was usable on 32 bit system and funy thing is that he has a dedicated video card :)

My theory is that this is pretty common, but most of the people just dont notice this, they never check unless it is as extreem as in my case (less than 1 GB) and they noticably suffer from poor performace.
 

tofig

Honorable
Oct 28, 2013
9
0
10,510
himnextdoor:

I did check BIOS before updating it for some memory or graphical card related settings and there were no. I have not checked in new version, its a good idea to do this! I will check, but to be honest I dont have much hoope that it will be there.

I will also check the msconfig trick.
I expect that msconfig will be respected as well. I think there are several tiers. First BIOS, then OS and finally msconfig settings. So when it comes to OS, 32-bit obviously adresses less; settings from msconfig(next tier) can push it even lower, but not higher.

I am 100% sure that this is 32-bit versus 64-bit issue, because I also tried with Win7 64-bit and in Win7 64-bit all 4Gb were addressed succesfully. I think some very core DLL which are part of the OS were codded differently on 32-bit and 64-bit and eventually they do not align with BIOS...
 

himnextdoor

Honorable
Oct 26, 2013
704
0
11,160
Well, in 32-bit Windows, some of the memory is mapped to an address above 4 GB and I have seen this amount as high a three-quarters of a gig but that is memory that is used for drivers and hardware and is not paged or affected by the VMM swap file processes. So, anything above 3 GB is usually thought of as satisfactory.

I tried the 'msconfig' thing myself and was able to substantially influence the numbers that appear in resource monitor.

I think that you are right to suspect Windows for being the problem but I also think that some manufacturers are trying to force us away from 32-bit systems and are trying to make what is a very useful and functional relatively new technology, obsolete.

For example, Sony locked up the BIOS on their machines and for a long time, they wouldn't allow access to the 'Virtualisation Technology' settings in BIOS and therefore deprived users of some of the functionality of the CPU. I believe that this was an attempt to get people away from their old systems and methods of operation.

In the end, due to demand, Sony had to release a BIOS update that gave access to that function.

What I'm hoping for here is that the problem is with how Windows 32-bit interprets to information held in a CMOS which appears to have been optimised for 64-bit O/S's.

As I said before, I think that graphics memory may be allocated twice and that Windows is failing to 'notice' that graphics memory has already been allocated. In a similar way to how there are duplicate keys in the registry because individual coders weren't aware of what the others had done.

I noticed that the msconfig settings for memory is supposed to reflect the maximum amount of memory in 'MB' so the numbers I entered were '1024' for 1 GB, 3072' for 3 GB and '4096' for 4 GB.

Hopefully, utilising this setting will force Windows to examine its allocation of memory and may result in some kind of correction.

For a working value for that setting, I think I would choose 4096 (Total Memory) - 256 (Video RAM) - 72 (Driver Space) = 3768 (Memory Maximum) and see how I get on with that.

Later, if I find my graphics are laboured in some application or another, I might reduce this number by a further '256' and see if that improves graphic performance.

Again though, 32-bit Windows deals with the memory just below the 4 GB mark in a different way to its 64-bit counterpart does and I that that this may be at the root of the issue.

Let me know how you get on with msconfig.

 

himnextdoor

Honorable
Oct 26, 2013
704
0
11,160


You are 100% right. This has been an issue since Windows XP and seems to be 'system sensitive'; different motherboards react slightly different to the same version of Windows.

I tested this years ago. Two machines with 4 GB in each with the same copy of XP installed. One reported about 3.75 GB and the other reported about 3.25, half a gig less.

That had me scratching my head for hours and had me fiddling about with the PAE.
 

tofig

Honorable
Oct 28, 2013
9
0
10,510
himnextdoor:

I did test with msconfig settings and it is as I expected; you can go lower than 2.7Gb but everything higher is beeing ignored.

I also checkced the new BIOS and there are no configurable settings for memory or video card.

I think is as best as it can be done with 32 bit. So unless new BIOS is released I will have to accept this.
 

himnextdoor

Honorable
Oct 26, 2013
704
0
11,160


This is not very satisfactory ending though, is it?

And Microsoft say, 'Trust us, we know what we are doing. Our software can manage memory in its sleep.'

The problem is, MS software doesn't sleep. It is forever trying to update itself, fix its bugs and provide misleading information to Windows users.

And between me and you, I think that Service Pack 1 for Windows 7 is responsible for the plethora of blue screens that have been reported in recent times.

I wonder, have you considered a dual booting system? That way, you only have to suffer Ms's shortcomings while using legacy stuff.

As an matter of curiosity, I wonder what amount of memory your system would report if you had only 3 GB installed.

And as you have correctly pointed out, this problem is endemic to 32-bit machines. It would appear that MS have never achieved production of software which is truly compatible with the hardware it is installed onto. This is demonstrated by the wide variations in amounts of reported memory from one system to another.

It is the fact that we have so much RAM available to us that the average user never actually tests the limits of performance so MS have been 'masked from' and protected from their inadequacies.

It seems that people have been duped into forking out for RAM that their systems can never use.

If any other company behaved like this, they would stand accused of sharp practices.

It's actually outrageous in my view; The Emperor is wearing no clothes.
 

TRENDING THREADS