How Memory Works

While modern operating systems have more features, they need better hardware to better deliver these services to users.

There was a time when computers with a few megabytes of RAM was older Windows operating system. But now the situation is different. The memory required for the modern Microsoft Windows operating system to run smoothly has gone beyond megabytes to gigabytes.


Why would the rest of the application software lag behind when operating system costs increase? Some of our daily use software is so hungry for memory that it consumes even more memory than the operating system. An example of such software is new web browsers that in some cases use gigabytes of memory.


If the software is ruthlessly using the memory available in the computer and no memory is left for the use of the operating system or other software, the overall performance of the operating system is adversely affected and it becomes extremely slow.


Although the price of RAM has come down drastically over time to a few thousand rupees per gigabyte and people buy more and more RAM and install it on the computer.But this is not always possible. A 32-bit computer cannot have more than 4 gigabytes of RAM. A 64-bit computer with a 32-bit version of Prondoz installed cannot use more than 4 gigabytes of RAM.


The Microsoft Windows 7 32-bit starter version can use a maximum of 2 gigabytes of RAM, while the 32-bit Ultimate version can use 4 gigabytes. In contrast, a 64-bit operating system installed on a 64-bit computer can use up to 192 gigabytes of RAM.

In some cases, especially laptops and notebooks, despite having a 64-bit processor, the hardware does not support more than 4 or a few gigabytes of RAM.


In situations where there is no room for more RAM and you are forced to work with limited memory, it is very painful if someone is using software recklessly, so it is very important to know which software is doing this and why.

Microsoft Windows Seven is a great tool for investigating resource monitor memory.Before we get into the details of resource monitors, it is important to understand how Windows Seven memory management works.


Microsoft Windows Vista Memory Manager builds a virtual memory system (Virtual Memory System), the main components of which are the RAM installed in the computer and the page file created in the hard drive. The software cannot use RAM directly because of the virtual memory system.


Rather, the virtual memory system provides the software with the required memory. Because of this system, no software can read or modify data from the memory used by the software. If this is not done, read the memory used by the software running on the operating system, which would be a dangerous thing in terms of security.


However, if software converts data into a memory block used by the software, the software may crash.Another advantage of this system is that the operating system and the software running on it can request more memory than the RAM installed in the computer. This system accomplishes this by creating a page file on the hard drive.


Now let’s talk about resource monitors.

To open Resource Monitor, open the Start menu and type in:

Resource Monitor

Click on the link that appears. Alternatively, you can open Resource Monitor by typing Resmon.exe in the Run box. When the Resource Monitor opens, click on the Memory tab. Under this tab, you will find the most important information regarding memory usage.


The information available under the Memory tab is divided into two parts. In the first part, there is a table of Processes while in the second part below this part the details of the memory installed in the computer are shown in the form of a graph. Some straight graphs are visible on the right. The information in the process table is very important. There are six columns in this table that are important to know.

The first column is Image. In technical language, an image is an executable file of a process. You can easily identify the names of the processes you see in the Image column and what software they belong to. For example, if you see excel.exe written in the image column, you can easily tell that this process is related to Microsoft Excel.

This list of processes contains a large number of operating system processes, including a large number of svchost.exe images. This image is used to run various Windows services and you can also see the name of the service in parentheses with each svchost.exe process.

The next column is PID. This is the process ID that is unique to each process.

Process IDs of two different processes cannot be the same. The Commit column describes the amount of virtual memory used by the process. This virtual memory includes either physical memory or RAM and virtual RAM.


The Working Set column shows only the amount of memory that the process has used in its physical memory. Working set memory is further divided into two parts. This is Shareable and Private Memory. Shareable memory is the part of the memory used by a process that it uses in conjunction with another process. This section usually stores data that may be required for various processes. This reduces memory usage.


The Kernel32 Dynamic Link Library, for example, requires many processes. It is therefore stored in shareable memory so that all processes can use it.


The name “private memory” indicates that the memory used by a process is the part that only that process can use and no one else. The amount of memory that appears in the Private Memory column indicates how much memory an application is actually using.



When a process attempts to use more memory than physically available memory, the virtual memory system stores some of the data in the virtual memory or page file on the hard drive. Then when the process requests data that is stored in a page file, it is called Hard Fault. The Hard Faults / Sec column describes the average number of times a process requests to retrieve data from a saved page file on a hard drive.


If you want to monitor the usage of any software, memory, it is very important to understand and monitor the hard faults. When you open a new application or file, the memory manager of the operating system analyzed the working set of various processes already running and the memory request made by the new application.

As the working set of a process increases, the memory manager balances the request for more memory made by that process and the requests for other processes.


When the amount of memory requested by the processor starts to increase more than necessary, the memory manager reduces the working set of each process and moves some of it to the page file. Simply put, some of the memory is stored on the hard disk.


When the process requires a portion of the memory that is written to disk, the memory manager reads the data from the disk and assigns it to the process.

This is called a hard default. Hard defaults are common. But if the software is causing too many hard faults, it means that a large part of the required memory is stored in the page file.


Note that RAM speeds are much faster than hard disk speeds. Getting data from RAM or from a working set is a process of the lightning speed of a process, but in case of hard fault, the memory manager has to get data from disk which is many times slower than RAM.


So when software generates a hard fault, it slows it down. There is a direct correlation between hard faults and software performance. An example of this is that when you hibernate a computer, all the memory content is stored in a file on the hard disk and when you wake up the computer from hibernation, all the data of the memory from the operating system hard disk is restored, Restores to memory.


During this time, the operating system is extremely slow and applications running on it are also slow. The reason is that the speed of reading data from a hard disk is much slower than that of RAM. If a process produces more hard faults, it can also mean that the RAM installed in your computer is not enough and needs to be increased. The temporary solution to reducing hard faults is to shut down the rest of the running process in order to increase the available working set (physical memory).

Physical memory table

A color graph appears below the Processes table in the Resource Monitor. This graph illustrates how RAM is used. Below this graph is the meaning of each color.


Hardware Reserved Memory refers to the part of memory that is reserved for various hardware devices installed in a computer. For example, if the video card installed in your computer uses RAM as video memory, then the specific memory for that will also be included in the hardware reserve memory. How much of this part of the memory will devices depend on the hardware installed in the computer.


The name In Memory indicates that it is the part of RAM that the operating system and the applications running on it are using. In this graph, part of the modified memory is shown in orange.

This section contains data that has been modified, but has not been requested for some time. Technically modified memory is not the memory used and if after a long time it is not requested to retrieve the stored data, the data are transferred to the page file. Standby memory works like cache memory. Here, the data that the process has removed from the working set is stored, but this data  still relates to other data in the working set of the process.

Data stored in standby memory is categorized according to its importance. At the top of the rankings is shareable data. As for free memory, you must have guessed that it is the part of RAM on which no data is stored yet, or the part which was used by a process but now that process has stopped.When a new process is started, the memory manager reserves a portion of the free memory of the new process.

The availability of a significant amount of free memory, is a sign that your computer has adequate memory installed and fewer hard faults will be generated, meaning that the software will run faster.

Leave a Comment