What are the limitations on the amount of memory have Windows

By this and turned to the forum for help. I read several articles, including the first one by reference, but I didn’t understand why the OS shows 1 and 2 GB of RAM completely. I do not understand how the last 4th GIG can stand out if the hardware has 1GB of RAM on it. What is it like?

Egor, we are talking to you here all sorts of smart things, but you do not understand the very basis ... The thing is that there is always an address space in 4GB, no matter how much memory is installed. Not all these spaces should be filled, there can be "holes" in it.

Let's try this equivalent ... Imagine a box with a capacity of 4 liters (100x100x400 mm). Even if there is nothing in it, it is still of such volume. Now we denote the position on the left as 0, and on the right - 4 (along the long side).

Now we can put a cube 100x100x100 mm in the box to the right. He will take the place of 3-4. But there is nothing left. This is how devices occupy some sort of upper address space. Now put another cube on the left. He ranked between 0-1. This is 1 GB of memory. It turned out that 0-1 is PAM, then 1-3 is empty, then 3-4 are devices. There is still room for two cubes, but no longer fit, the size of the box does not allow. So it turns out the limit is somewhere around 3 GB (in fact, it is different). A unit allows you to have several such boxes (but you need something to “climb” from one box to another), and 64 bits allows you to have a box much longer.

Now it is clear?

This posting is provided with "AS IS" with no warranties, and confers no rights.

Thank. I tried to find out something like this. I could only suspect that the address space itself is ALWAYS 4GB, no matter how much RAM is in the computer. But nowhere could I find such a specific statement. And that equipment ALWAYS takes part of the RAM for itself. But I did not know where it can be viewed or at least understand how much it takes. Only in this article ( http://www.ixbt.com/soft/windows-4gb-2.shtml) said that the address space is not the amount of RAM and that's it.

At the moment I came to the conclusion:

1. Equipment always takes a part of the RAM for its needs and find out how much RAM it has taken in the Resource Monitor.

2. If the RAM is 4GB, then about 1GB of RAM is always reserved for the equipment (even if 1-2MB is needed) due to the nature of the x86 architecture.

3. In the client OS, PAE does not work due to the fact that it was disabled for reasons of OS stability.

4. The address space is always 4 GB, no matter how much RAM is in the computer. And from the upper limit of the existing RAM is taken part of the equipment.

I want to thank everyone, I learned something new for myself. But my research is not over yet! :) Now I will try to put Win 2003 x32 on the test subject to make sure that the server version of PAE works, unlike the client version. (If I understood correctly).

The Windows 9x / ME operating system can work only with 512 MB of memory.
And although configurations with a large volume are quite possible for them, there are much more problems than benefits.

32-bit versions of Windows 2000/2003 / XP and Vista theoretically support up to 4 GB of memory, but it is actually available for applications no more than 2 GB.
With a volume of more than 3 GB, OS glitches are possible.

The entry-level OS Windows XP Starter Edition and Windows Vista Starter can work with no more than 256 MB and 1 GB of memory, respectively.

The maximum supported size of 64-bit Windows Vista depends on its version and is:

Home Basic - 8 GB;
Home Premium - 16 GB;
Ultimate - More than 128 GB;
Business - more than 128 GB;
Enterprise - More than 128 GB.

Limitations of RAM in Windows 7:

In the 32-bit version of the Initial - 2 GB;
In the 32-bit version of Home Basic - 4 GB;
In the 32-bit version of Home Premium - 4 GB;
In the 32-bit version of Professional - 4 GB;
In the 32-bit version of Corporate - 4 GB;
In the 32-bit version of Ultimate - 4 GB;

In the 64-bit version of the Initial - 2 GB;
In the 64-bit version of Home Basic - 8 GB;
In the 64-bit version of Home Premium - 16 GB;
In the 64-bit Professional version - 192 GB;
In the 64-bit version of Corporate - 192 GB;
In the 64-bit version of Ultimate - 192 GB;

Limitations of RAM in Windows 8:

In the 32-bit version of Windows 8 Enterprise - 2 GB;
In the 32-bit version of Windows 8 Professional - 4 GB;
In the 32-bit version of Windows 8 - 4 GB;

In the 64-bit version of Windows 8 Enterprise - 512 GB;
In the 64-bit version of Windows 8 Professional - 512 GB;
In the 64-bit version of Windows 8 - 128 GB;

Limitations of RAM in Windows 10:

In the 32-bit version of Windows 10 Home - 4 GB;
In the 64-bit version of Windows 10 Home - 128 GB;
In the 32-bit version of Windows 10 Pro - 4 GB;
In the 64-bit version of Windows 10 Pro - 512 GB;

Attention!
There is also a limitation in motherboards.
When deciding on the installation of RAM, be sure to read the manual of the motherboard.

Answers on questions

Nvidia released Game Ready driver for PlayerUnknown "s Battlegrounds

Nvidia has announced availability for downloading the latest Game Ready package of drivers GeForce 388.71, certified by the Microsoft WHQL laboratory this year.
This release is timed to the exit from the early access of the popular game PlayerUnknown "s Battlegrounds, where it should ensure maximum performance.
Nvidia also compiled a list of optimal graphics cards for playing at high and ultra-graphics settings with a frame rate of about 60 fps in the resolution from 1080p to 4K.

Among other innovations of the release of GeForce 388.71 (WHQL) should be noted the new SLI profile for the Warframe shooter, as well as the 3D Vision profiles for the following games:
Black Desert, ELEX, Forza Motorsport 7, JX3 Online and Player Unknown "s Battlegrounds.

You can download a set of drivers and GeForce 388.71 (WHQL) software using the search on the official Nvidia website or through the GeForce Experience app.

Radeon Software Adrenalin Edition 17.12.2 driver available

Radeon Technologies Group has prepared a new update of the driver package and Radeon Software Adrenalin Edition software with the index of 12/17/2.
The second December release does not contain any game optimizations and is intended to fix a large number of problems noted in previous releases.

The following items are listed in the Radeon Software Adrenalin Edition 17.12.2 driver fix list:

The Video tab in the Radeon Settigns application may disappear on some Hybrid Graphics configurations after a system reboot;
- “freezing” of the system when an external video card is used that uses AMD XConnect technology;
- low screen resolution may not allow to scale the image;
- recording of the selected area through Radeon ReLive can continue even after closing the recordable window;
- problems during the game or when creating an Eyefinity configuration from three monitors;
- Artifacts or flicker in the game Ark Survival Evolved when displaying information about the speed through the Radeon Overlay in the Windows 7 operating system;
- A blank screen on the Samsung CF791 FreeSync monitor when playing games in full screen mode;
- “stuttering” video in Netflix when playing through a browser or using an application for Windows 10;
- Radeon Overlay may disappear and appear during the data update;
- resetting the color temperature settings may change the colors on the wrong display;
- Possible artifacts in the game Star Wars: Battlefront II.

Intel has introduced a generation of Gemini Lake processors

These are very low-power CPUs, focused on compact PCs, relatively low-end models, hybrid solutions and various devices where the TDP level is critical.

Gemini Lake processors replaced the Apollo Lake generation, which flooded the niche of cheap laptops due to the almost complete absence of budget CPUs of older Intel families.
Gemini Lake is a follower of the Atom family, just now Intel does not use this brand.

There are six processors in total in the new generation: a pair of Pentium Silver and four Celeron models.
In this case, three models are conventionally related to the desktop segment, and three - to the mobile.
Models with the N index refer to the mobile segment, and those with the J index refer to the desktop segment.

All processors received a dual-channel memory controller with support for DDR4 / LPDDR4.
The UHD Graphics 600 GPU contains 12 execution units, while the UHD Graphics 605 has 18 execution units.

CPUs are manufactured on a 14-nanometer process technology and have the performance of FCBGA1090 regardless of the platform.

The processors debut technology Local Adaptive Contrast Enhancement (LACE).
Judging by the description, it is designed to customize the image on the screen depending on the ambient light.

In addition, Intel claims that it was the first time Gemini Lake processors among the company's solutions received Gigabit Wi-Fi support.
More specifically, it uses the standard 2 × 2 802.11ac with 160 MHz channels.

You can also note support for HDMI 2.0 and image output in 4K at 60 fps.

The first PC based on the new CPU will appear in the first quarter of 2018.

About AMD Ryzen second generation processors

In the foreseeable future, AMD is planning to release successors to Ryzen desktop processors.
According to the “leaked” roadmap of the Network, the second generation Ryzen chips, also known under the code name Pinnacle Ridge, will debut in late February.

According to the available information, the new processors will be manufactured in accordance with the 12-nanometer technical standards of FinFET at the GlobalFoundries facilities.
The first chips on the store shelves will be Ryzen 7 high-end chips, and then in March AMD will release more affordable solutions from the Ryzen 5 and Ryzen 3 lines.
These "stones" will receive a design AM4 and will be compatible with commercially available motherboards based on AMD 300-series chipsets.
It should be borne in mind that with the mentioned CPUs new motherboards based on the AMD 400 series logic will go on sale, relevant for those who build the system from scratch or switch from older platforms.

The line of desktop processors for the AM4 mainframe platform can be led by 12-core solutions that operate at significantly higher frequencies than their predecessors.
In particular, the flagship Ryzen 7 2800X will operate at a frequency from 4.6 to 5.1 GHz in boost mode, whereas for the Ryzen 7 1800X they range from 3.6 to 4 GHz.
Importantly, an increase in the number of cores will not affect the recommended cost of new CPUs, which will be identical to those already available for sale to 8-core analogs.

Today I will talk about the limitations of the virtual address space of Windows and how to deal with the “Not enough memory” errors that occur in 32-bit programs and games, when the amount of memory used by them reaches 2 GB. Some simple ways to get around this limitation and get applications to use more than 2GB of memory.

X86 architecture

All modern desktop processors Intel  or AMD  (and not only) based on x86  architecture that was first implemented in processors   Intel 8086,released in 1978. Up to Intel 80386 (i386)  processors were 16-bit and could only use up to 16 MB of RAM. Released in 1985 i386  steel processors 32-bitthat makes it possible to address up to 4 GB  RAM (up to 64 GB in PAE mode, but applications can only use up to 4 GB as well).

It is clear that in those years, 4 GB looked practically unattainable. But nothing stands still and over time this turned out to be little. In 2003, the company AMD  (yeah, no longer Intel) in their new line processors Opteron  has implemented an extension x86-64  (other names: AMD64, Intel64, x64, EM64T). This extension had a number of improvements: 64-bit basic registers, additional registers and expansion of the address space. The current implementation allows you to use up to 256 TB  virtual address space, with a theoretical maximum in 16 EB (ExbiByte - 2 64 bytes). Processors Intel  support extension x86-64  (AMD64) from older Pentium 4 models (Prescott and on).

x86 and x64 operating systems

Applicable to OS  (Operating Systems) used designations x86  (in everyday life is often referred to as x32) and x64that are 32-bit and 64-bit, respectively. Their difference is that x64 support AMD64, making it possible to use its advantages, and x86 does not support it (and does not use it). In practice, this gives certain features and limitations.

  • 64-bit OS requires  processor support AMD64  (all modern processors from Intel  or AMD)
  • 32-bit OS can work, both on a processor with AMD64 support, and without it (but you still need to find such antiquity)
  • 64-bit applications work only  on 64-bit OS
  • 32-bit applications fully work  both on x32 and on x64 OS, but they cannot use AMD64 advantages

At the moment, there is a gradual abandonment of x86 operating systems in favor of x64. For example, server versions of Windows starting from 2008 R2 are released only  64-bit. Microsoft is often threatening to do the same for new desktop versions, but for now they don’t.

Limitations of virtual memory in Windows

Each version of Windows has certain restrictionson the use of physical and virtual memory (you can see the link). And if the limitation of physical memory is connected, rather, with licensing, then with restrictions virtual  it's a bit more complicated.

We are only interested in virtual memory, since it is with it that applications interact. If you do not go into details, the virtual memory technology allows each process to have its own memory - the address space, which virtually  does not overlap with the address spaces of other processes. That is, the application "believes" that the memory belongs only to him alone and can even use more of the available physical RAM, and the OS already deals with distribution and coordination.

And so, for 32-bit Windows, the total limit of virtual memory is 4 GB (as for 32-bit processors). 64-bit have a limit of 15 to 256 TB, depending on the version. But, any edition of Windows divides the total address space into two  parts: user mode  (user mode) - the memory available to applications and kernel mode  (kernel mode) is the memory used by the system. And, if x64 applications get 8 - 128 GB, then for x32 it is only 2 GB (actually ~ 1.7-1.8 GB). Upon reaching this limit, the application will generate an error and will be closed, or simply “crash” without any warnings.



How the memory is arranged in Windows is described in detail in Mark Russinovich.

4GT memory tuning function

For Windows x86, there is an official “crutch” that allows to redistribute  virtual memory, giving applications up to 3 GB, while reducing system space to 1 GB. Called it 4-Gigabyte Tuning. What it looks like is shown in the following diagram (on the left - by default, on the right - using 4GT):



The option is activated as follows:

For windows XP / 2003  - adding a key / 3GB  in file Boot.ini



For Windows Vista / 7/8  - team BCDEdit / set increaseuserva 3072 (Start> Standard (Start > Accessories), right click on Command line (Command prompt) – Run as administrator(Run as Administrator), enter and run the command ).



Enabling this option may cause incorrect operation of some drivers, programs, or Windows as a whole.

Flag IMAGE_FILE_LARGE_ADDRESS_AWARE

Allows the app to use more than 2 GB of virtual address space. only  if it is compiled with IMAGE_FILE_LARGE_ADDRESS_AWARE. All 64-bit applications have this parameter by default (this is their essence), but 32-bit applications may or may not have it - it all depends on the programmer who set this option when compiling or did not install it.

This flag is what we need to force a 32 bit application to use more than 2 GB of memory. Running such a 32-bit application on Windows x32 using 4GT will give it up to 3 GB of memory (actually ~ 2.8 GB), and on Windows x64 all 4 GB.

Fortunately, set this flag for any  applications can by myself. There are several ways to do this.

Before you proceed make surethat the application you want to change is currently closed.

4GB Patch

The easiest way.

First, download the program from the author’s website or from here:

After launch 4gb_patch.exea standard "Open file" dialog box will open, where you need to specify the .exe file that you are going to edit.

Immediately after selecting a file, a program window will appear confirming successful operation. Then you can change another file (by pressing Another file) or close the program (by pressing Ok).

Keep in mind that the program has no reverse actiontherefore, in a folder with a variable file, it saves its backup copy with the extension .Backup.

CFF Explorer

For those who know exactly what they are doing.

CFF Explorer  - free and quite powerful program for working with PE headers from the author 4 GB Patch. You can download from the author's site.

  1. Installing and running the program, open the desired .exe file.
  2. Go to item File header.
  3. We click in the lower right corner of the appeared table (and it is written - Click here).
  4. In the window that opens, check the box next to App can handle\u003e 2gb address space.
  5. Apply and save the file.


  As you can see, the program allows you to edit other parameters, has a large number of tools and even a built-in disassembler.

Reverse  the action is the same, with the difference that we tick we remove.

EDITBIN.EXE

Small utility EDITBIN.EXE, which is included Microsoft Visual Studio.

The steps are as follows (run from the command line):

Set:  EDITBIN.EXE / LARGEADDRESSAWARE name.exe

Remove:  EDITBIN.EXE / LARGEADDRESSAWARE: NO name.exe

Using the same parameter (/ LARGEADDRESSAWARE) sets the memory usage for Visual Studio projects.

Conclusion

To summarize, in order for a 32-bit application to use more than 2 GB of memory, it must be respected. two conditions.

Share with friends or save for yourself:

  Loading...