This may not be strictly related to programming, but more related to the OS structure.
Running Vista 32 bit on a new laptop with 3 GB of memory, when working in standby mode, the system consumes about 40% of its memory. In addition, the fact that this is outrageous in itself, the OS should be able to easily enter all the processes into memory and do not need to change them to a disk EVER. However, looking at the task manager, I see processes having page errors all the time. Not much, but still. for example, explorer.exe has approximately every second.
Why? Why does the OS feel the need to replace pages, although it has a lot of physical memory?
, - . , , , Windows, , , , . ( , , .) , ? , , , - , "" . .
, , , . , , . , , "Please page fault, - ", , - .
, , , .
, , , . , . explorer.exe, . , , taskmgr.exe, . ( )
, "" , . , - .
40% .
, , , , . , , 40% ( , ) ; , ( ), .
, ( ), . ( 1 , Visual Studio 4 , VM ), , . , , .
, Vista , . / , .
ressource, , ?
, . , : http://blogs.msdn.com/oldnewthing/archive/2008/08/21/8880075.aspx
( , .) , . )
, . Windows XP.
, Windows " " : , , . , , , . , ., . XP 3 . , !: , , . , , .
Linux, : swap, . Linux, , ( - ), , "". , , .
" " - . , , . , - 2 , -. . , , " " ( - ) " " (.. ).
Obviously, for technical reasons, you cannot have all the bytes both on disk and in RAM. But you, of course, should not eject bytes from RAM just because they are also on disk. And if you have both a spinning disk and RAM pages that have not changed in a minute, it makes sense to pre-write bytes. You want the OS to do this with low priority, but I / O priority is less common on Windows (new with Vista and, to be honest, implementation 1.0)
Source: https://habr.com/ru/post/1698134/More articles:Building Subversion 1.5.4 on Debian: Could not find library containing RSA_new - version-controlAutomatically update user interface when changing business objects - user-interfaceStrange OpenGL ES behavior in iPhone application - iphoneКакой лучший способ скопировать/заполнить большой массив с меньшим массивом в С#? - arraysBind XML data to namespaces - c #How to use micro-accounting in Linux? - performancethis? and objects dRuby - ruby | fooobar.comC # controls in an MFC application - c ++A good book / resource for learning "efficient" C ++ template programming? - c ++On Qt widgets like DoubleSpinBox or ComboBox, as I have a right click menu - qtAll Articles