26

Have been sitting with 8GBs of RAM for 2 years still thinking I needed another 4GBs and never questioning why so often I get message about low physical memory that would close all open programs (Firefox mostly since it is mainly what I use) if not paid attention to immediately. I would then have to restart programs using most memory (Firefox is one of them) to continue working normally and not losing any unsaved changes.

Anyway, II have noticed that although system sees 8GBs of RAM, it still uses half of it and I will demonstrate this with screenshots further.

Combined screenshots of System Information and Task Manager:

enter image description here

Resource Monitor screenshot:

enter image description here enter image description here

RAMMap screenshot:

enter image description here

And finally my swapfile condition at one time and another. The point is that it is big all the time:

enter image description here

Notice "Available" and "Free" memory from above screenshot. This is what I see in Task Manager most of the time and opening another 5-7 tabs in Firefox causes "Low Memory" warning to appear.

Currently used primary videocard:

enter image description here

Any thoughts?

WLTRAY.EXE has not been mentioned here but look at this:

enter image description here

System specs

  • Dell Latitude E6420
  • 8GB of RAM, 120GB Intel SSD
  • Intel HD Graphics, nVidia NVS4200M
  • Windows Enterprise 64-bit

UPDATE 3rd May, 2014 - I don't think problem was in wireless adapter process. I still think it has to do with Firefox. Here's screenshot of Task Manager:

enter image description here RamMap:

enter image description here

VMMap:

enter image description here

UPDATE: 01/04/15

Looks like my whole system has memory leak. I tried using Chrome and eventually like with Firefox, it crashes with either message seen here or results in BSOD or blank screen where restart is the only way to work again.

Here's my Chrome browser running after several hours of last it's restart, with 29 tabs:

Windows Task Manager

enter image description here

Resource Monitor

enter image description here

Chrome Task Manager

enter image description here

I have restarted Chrome and here are stats:

Windows Task Manager

enter image description here

Resource Monitor

enter image description here

Chrome Task Manager

enter image description here

11
  • On Vista it would be System Properties/Advanced/Performance Options/Advanced/Virtual memory Change -- Is the option set to "Automatically manage paging file size for all drives"? Apr 5, 2014 at 11:36
  • 12
    As far as I know there is no Windows warning about low physical memory. The warning refers to low virtual memory and occurs when the committted memory for all processes exceeds the sum of physical memory and page file space. You have a very small page file. This is causing the problem. Apr 5, 2014 at 12:23
  • 1
    You missed the most important screenshot: The graph in the lower part of the "Memory" tab in Resource Monitor.
    – Daniel B
    Apr 5, 2014 at 12:40
  • Well, I can't exactly help you, but the source of the problem is evident: The write-to-disk buffer is occupying humongous amounts of memory.
    – Daniel B
    Apr 5, 2014 at 15:47
  • 2
    @Boris_yo - You want your page file to be filled No you don’t; you want the physical RAM filled before touching the disk.
    – Synetech
    Apr 6, 2014 at 15:53

8 Answers 8

17

"Why is half my RAM of 8GB is missing?"

It is not missing, nor is it even unused. Approximately 4GiB are in active use, and an additional 3.3GiB is inactive, but also in use. The 3.3GiB is ready to be paged to disk, but you have no space allocated for it, so it remains in physical RAM. "Modified" memory is effectively no different than "In Use" if starved of disk pages.

Neither a 64-bit OS nor PAE enables any 32-bit process to use more than 4GiB (2 user/2 kernel on 32-bit/PAE, 4GiB user on x64. See: Pushing the Limits of Windows: Virtual Memory) of memory whether that memory is currently paged into physical RAM or onto disk.

So, for Firefox, which does not have a 64-bit version, this means that Firefox is ultimately limited to 2GiB (PAE) or 4GiB (x64) of user space memory regardless of installed RAM. Even if you had 64GiB physical RAM installed, if Firefox exceeds usage, it will exhaust its memory limit.

This looks excessive and possibly indicative of a memory or handle leak. Worse, in your case, the pagefile is not large enough to move any of the leaking process to disk, so you have essentially forced it to leak exclusively into physical RAM.

In TechNet article Having a problem with Excessive "modified" memory usage in Win7 x64, upwards of 3.6GB, any suggestions?, a user with similar symptoms (large shared/modified block) finds:

Modified memory is memory that was allocated by some application and then removed from the application's working set, usually because it hasn't been used for a long time. The fact that most of your memory is in this state means two things:

  1. Some app (or multiple apps) allocated a lot of memory, and is not actively using most of it. Often (but not always) this is due to a memory leak in the app.
  2. The pagefile is not large enough for the system to move all this unused memory to disk.

In the end, as suggested by magicandre1981, the issue was the Dell Wireless (Broadcom) LAN tray app:

Thanks everyone, I was having the same issue and added handles and GDI and saw BCMWLTRY.EXE, the Dell wireless tray util, is creating handles nonstop. Thanks for the advice. Update: So I disabled the service that started BCMWLTRY.EXE + rebooted and I'm now not seeing the handle leaks. WLTRAY.EXE is still running but it's not leaking handles.

Likewise, in Excessive modified memory in shared memory,

Dell wlan utility was the reason. Killing the bcmwltry.exe process in task manager released memory. But this process initiated again after few sec.. It was kinda crappy - i couldnt uninstall it. Luckily this notebook needed OS change anyway so i`m not even trying to fix this. ... Same exact problem here. Killing and disabling DW WLAN (bcmwltry.exe) freed up 5 GB of memory. It leaks.

The tray app BCMWLTRY.EXE is likewise implicated in Pagefile keeps growing until I run out of memory

Additional references for BCMWLTRY.EXE/Dell Wireless Tray problems (WLTRAY.EXE), diagnostics, and resolutions:

So, it's not actually the driver in these cases, it's the tray app that comes with the driver. I would agree that given the OEM of your wireless card, that BCMWLTRY.EXE is running, and the rather large number of nearly identical problems, this is part one of the problem.

You can also add the "Handles" and "Page Faults" columns to Task Manager to check for excessive usage of either, in the case that there are more errant programs. You can use SysInternals VMMap to view allocation of virtual memory from the point of view of each process. Handle leaks are insidious because they are also likely leaking Windows objects. Microsoft makes available a tool called Application Verifier that, among other things, will help track down leaking handles.

So the answer is: You likely have a memory leak, it is likely in BCMWLTRY.EXE (or some other app leaking handles or similar shared resources), and the OS has been starved of disk backed pages to more "gracefully"* handle such a condition.


* There's nothing particularly "graceful" about a memory leak, but a ~4GiB pagefile would have allowed the process to run up to its inherit limit (acting as a quota) and then crash, creating a obvious pattern in the event log of a specific process crashing followed by a release of all the resources and, if restarted, repeat. Without the inherent 32-bit limit address space limit, it could have chewed through a lot of disk space first. As it is, all the processes are now resource constrained, so it's less clear if it's being closed due to its own leak (Firefox), or because another app (BCMWLTRY).

17
  • There is no way to gracefully handle such a situation. Slamming the disk with paging operation certainly is not a graceful solution. In fact, I suspect the small pagefile has saved him a lot of trouble, since he got clued into the memory leak before the system became completely unusable due to constant paging.
    – Ben Voigt
    Apr 6, 2014 at 16:33
  • @BenVoigt Graceful may not be the best term in this case, but it's certainly debatable whether failing fast helped in this case. Because all processes are 32-bit, having a ~4GiB pagefile would have allowed an errant/leaky process to exceed its address capacity, die, and have the memory returned in a very obvious cycle (in the event log) all while not starving other processes of memory (for example, the data loss this caused with Firefox). A 64-bit bit runaway process on a 64-bit OS would be more problematic and quotas would be helpful there. Apr 6, 2014 at 16:53
  • In Mark Russinovich's blog Pushing the Limits of Windows: Virtual Memory he details the factors in choosing a paging file size. In the end, it is up to the user if they want a considerably higher risk of data loss under load or higher risk of slow down under load and to what extent they want to take on each risk. The entire purpose of virtual memory is to allow that choice to be made. Apr 6, 2014 at 16:55
  • The OS is definitely the 64-bit version of Windows 7, because the Task Manager screenshot is showing 8GB Total Physical Memory. On 32-bit Windows 7 that value won't exceed 4GB.
    – nobody
    Apr 6, 2014 at 17:26
  • 1
    @AndrewMedico It's a moot point. As and31415 pointed out, the OP is using 64-bit. Still, PAE is enabled in client x86 Windows on capable machines, but setting it to allow >4GiB looks like it's a violation of the license and therefore not appropriate to share here, but plenty of people are doing so in spite of the licensing violation. Apr 7, 2014 at 4:49
13

Your modified memory list is too high (see the large orange bar in ResMon). This is using over 3GB RAM. One known cause are old Broadcom Wifi drivers. If your laptop uses a Broadcom Wifi adapter, update the drivers or stop the BCMWLTRY.EXE from startup with msconfig.exe to fix it.

11
  • I have DW1530 Wireless-N WLAN Half-Mini Card. Is there a way to determine memory consumption on driver level?
    – Boris_yo
    Apr 5, 2014 at 17:34
  • 3
    Can you please provide a reference to support your answer?
    – Abhijit
    Apr 5, 2014 at 17:59
  • @Abhijit - The problem is well known. I would agree this problem is indeed caused by a driver.
    – Ramhound
    Apr 5, 2014 at 19:03
  • 1
    Long standing problems with memory leaking BCMWLTRY.EXE Apr 6, 2014 at 14:22
  • 9
    The problem is well known. Maybe, but that doesn’t mean that even people who are familiar with it, let alone those who are not can simply up and diagnose it without a link to a page with the appropriate steps. If you refer to something like that, then it is appropriate to link to it rather than just expect people to go off and look it up for themselves. If that’s what you expect, then you should just mention it in a comment, not an answer.
    – Synetech
    Apr 6, 2014 at 15:55
6

I had a prank played on me some time ago where somebody had edited my MSConfig settings, limiting my maximum memory, like so:

MaxMem

So this is another potential cause.

2
  • Thanks for help but nobody played similar prank on me.
    – Boris_yo
    Apr 5, 2014 at 15:17
  • 4
    This is not the problem here. The OS is seeing and using all 8GB of RAM.
    – nobody
    Apr 6, 2014 at 17:33
4

The Problem seems to be because of small Page file. As per your screen shot, your system has a considerable Modified Memory. Modified Memory is the memory that is waiting to be written to the page file before it is moved to the Standby. Increasing your pagefile would effectively reduce your Modified Memory, which would effectively increase your Standby and available memory.

3
  • Writing an extra 3GB of "modified memory" out to the swapfile would accomplish nothing except an extra 3GB of disk writes, wearing out his SSD and slowing down other programs that need to do disk I/O.
    – Ben Voigt
    Apr 6, 2014 at 16:35
  • 3
    It certainly would accomplish something: it would free up 3GB of RAM for processes that actually want to actively use it.
    – nobody
    Apr 6, 2014 at 17:32
  • The other processes having free RAM doesn't help them if they're waiting in I/O queue. And having free RAM is temporary, when you have a leak that large, you're only doubling the time.
    – Ben Voigt
    Apr 6, 2014 at 17:41
2

Your system is using all of your 8GB of RAM, it just not using it as efficiently as you would wish. I see a huge amount of cache on the system. Windows will automatically decrease the cache size as applications need more RAM.

Regarding page files size, I'll quote someone (Mark Russinovich) who actually knows what they are talking about:

How Big Should I Make the Paging File?

Perhaps one of the most commonly asked questions related to virtual memory is, how big should I make the paging file? There’s no end of ridiculous advice out on the web and in the newsstand magazines that cover Windows, and even Microsoft has published misleading recommendations. Almost all the suggestions are based on multiplying RAM size by some factor, with common values being 1.2, 1.5 and 2.

If you want the know the real truth of what is happening on your system then just stop right now and read Mark's whole series of articles on Windows memory management. He's probably the worlds foremost authority on this sort of stuff.

I myself set the absolute minimum page file size on my Windows systems (just enough to save a mini dump) or even disable it entirely. You never, ever want to hit that page file during normal system usage. If you do then it's time to buy more RAM or close some apps, you choose.

Consider the speed in RAM vs. SSD or hard disk when correlated to human time scales. [Storage Class Memory: Technology, Systems and Applications - Page 22]

  • A RAM access takes about 60ns, lets equate that to 1 minute in a human relatable scale.
  • A SSD access takes about 50us, that's about 800 times slower than RAM, which makes it about 14 hours at a human scale.
  • A fast hard drive access takes 5ms, that's about 83,000 times slower than RAM, which makes it about 60 days at a human scale.

Do you really want your RAM to get semi-randomly shuffled off to a storage device that's 1K times or 100K times slower than RAM just because you didn't have enough RAM?

Another point that I haven't seen anyone bring up is that the Intel HD Graphics 3000 chip uses "shared memory" From the screenshot you show of it, it can consume as much as 1.7GB of your RAM. So kiss at about 1GB of your total RAM goodbye there.

8
  • about 1GB? Its more then 1.5GB likely more ( closer to 2GB ) if you consider the OS is going to reserve some memory to communicate with it.
    – Ramhound
    Apr 5, 2014 at 19:00
  • The Intel drivers are supposed to tune themselves based on the resolution and color depth that the user is driving the system at. So at least 1GB of RAM is gone right off the bat, but yes you are quite right that depending on the users circumstances that closer to 2GB could be used by the Intel drivers. And it's not easy to see this "invisible" RAM usage with the built in tools in Windows.
    – Ausmith1
    Apr 5, 2014 at 19:10
  • The reason I said 1.632GB is because thats what the screenshot shows unless I am taking as the literally usage when its not.
    – Ramhound
    Apr 5, 2014 at 19:12
  • Yes, at that particular point in time it was using 1632 MB, it could be more/less at other times. Disabling the Intel HD video is probably the simplest solution for this system assuming that the user is willing to live with the ramifications of only having the Nvidia GPU available, such as more battery usage. Seems a small price to pay to me to get 1.5GB of RAM back.
    – Ausmith1
    Apr 5, 2014 at 19:39
  • 4
    This answer is a bit misleading. You quote Mark Russinovich but don't actually follow his advice in the linked article.
    – jcm
    Apr 6, 2014 at 6:04
0

Your BIOS and drivers are fine and so is your physical memory. Messing with hardware and BIOS settings will get you nothing. The problem is your ridiculously small page file. It should be as large as your installed physical memory but it's 512 MB, barely 1/16th that size. To correct the problem, do this:

Go to Control Panel / System and Security / System / Advanced System Settings.

Choose the Advanced tab and click the Settings button under Performance.

Choose the advanced tab.

Under Virtual Memory, click Change.

Check the box labeled "Automatically manage paging file size for all drives".

Now just click OK and reboot as required.

12
  • Windows wants to use 12GB of pagefile and I have 120GB SSD with currently 17.8GB free drive space. I could try but I think that 12GB of pagefile is too much for my non-aggressive usage.
    – Boris_yo
    Apr 5, 2014 at 15:21
  • 2
    @Boris_yo Why don't you get a standard 500GB or 1TB HDD to store all the stuff that doesn't need to go on the SSD? It's not healthy for the SSD to be near full anyway due to how TRIM works, and I'm pretty sure you can move the page file to another location (like an HDD) as needed.
    – Thomas
    Apr 5, 2014 at 15:39
  • What @Thomas said. Your SSD is overloaded as it is. It's generally a bad idea to have an SSD 80% full, and you always want at least 20 GB free on the system drive. 12 GB for a page file should not be a problem, so you need to offload at least 20 GB to another drive, or just find a way to free that much space up. Apr 5, 2014 at 16:17
  • You shouldn't be paging off an SSD anyway. Apr 5, 2014 at 16:38
  • (Basically, Windows won't use more space for apps than there is page file space.) Apr 5, 2014 at 16:39
0

Windows 7 aggressively caches information. This is largely what made it perform better than Vista. You still have oodles of memory free to use if your programs need it, it is just that Windows is trying to be clever, and guess what your computer is going to need or access next, so it preloads (caches) information into RAM that gets accessed a lot. Since Windows does not then have to search the hard disk for this information, this makes Windows run faster.

http://arstechnica.com/information-technology/2010/02/behind-the-windows-7-memory-usage-scaremongering/

-1

The simplest is to update your computer drivers, especially your bios and chipset. Just the fact that firefox is running so high, I would then do a deep scan to see if you are running any bots on your system, afterwards, i would disable plug-ins and add-ons one-by-one on firefox to see if it reduces the symptoms. It certainly wouldn't hurt to do what was mentioned since it should be a regular maintenance even though it may not solve your problem.

2
  • 1
    What do you mean by me running bots?
    – Boris_yo
    Apr 5, 2014 at 13:11
  • He means Malware or the like.
    – Ausmith1
    Apr 5, 2014 at 18:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .