How does Windows manage physical and virtual memory? As I understand it, once the system fully utilizes physical memory, it will engage virtual memory. How is virtual memory managed? If physical memory becomes available, will it move from virtual to physical?
We run several daemons on linux system and came across a strange behaviour regarding virtual memory size of our processes. When suddenly the amount of physical memory available in the system reduces to very small amount (like several megabytes), our daemons start to consume enormous amount of virtual memory, as we can observe it with top command.
How correct is this picture that I drew up if I am to explain Virtual Memory to some of my colleagues?
There are hundreds of documents available online explaining virtual memory, but I am yet to find a good single sentence definition of Virtual Memory. There are a few that says, 'Virtual Memory is physical memory + RAM'.
I thought a little about virtual memory management and came to the result that there can be 2 types of memory fragmentation. The first happens on physical memory side where pages can not be freed because there is are some bytes of it used.
we use "shm_open" to create a shared memory object, and then "mmap" to map it to a memory region. However, in later time, when the code actually accesses the memory, in some corner cases, it will hit "bus error" as the underlying physical memory was running out.