Свободная виртуальная память меньше суммы свободной физической памяти и свободного пространства в файле подкачки [закрытC#

Место общения программистов C#
Anonymous
Свободная виртуальная память меньше суммы свободной физической памяти и свободного пространства в файле подкачки [закрыт

Сообщение Anonymous »

Я использую класс WMI «CIM_OperatingSystem» для получения текущих параметров памяти.
Обычно я получаю такие числа:

Код: Выделить всё

Total Virtual Memory:  8188.6 MB
Total Physical Memory: 4094.5 MB
Total Pagefile Space:  4096.0 MB
-----------------
Free Virtual Memory:  3665.7 MB
Free Physical Memory: 1403.2 MB
Free Pagefile Space:  3128.5 MB
Эти данные совпадают с тем, что я могу получить из других программ, таких как «Диспетчер задач Windows» и «HWiNFO64».
Как видите (Всего Физическая память) + (Общее пространство подкачки) = 8190,5 МБ, что почти равно общей виртуальной памяти (разница всего 1,9 МБ).
Но если суммировать (Свободная физическая память) + (Свободное пространство подкачки) = 4531,7 МБ, что на 866 МБ больше, чем параметр «Свободная виртуальная память».
Похоже, что значительный объем памяти, который ОС сообщает как свободный, на самом деле не бесплатен, а либо чем-то используется, либо "растрачивается", то есть не используется, но в то же время недоступен для приложений.
Если ОС ошибочно сообщает, что некоторая память свободна, хотя на самом деле эта память используется, то как я могу получить (программно) правильные объемы свободной физической памяти и свободного пространства в файле подкачки?Если память, которую ОС сообщает как свободную, «тратится впустую», то как я могу уменьшить (программно) объем «растраченной» памяти, чтобы объем свободной виртуальной памяти был как можно ближе к возможно ли это в сумме свободной физической памяти и свободного места в файле подкачки?

Подробнее здесь: https://stackoverflow.com/questions/783 ... ree-pagefi

Вернуться в «C#»