Вам нужно будет предварительно добавить ссылку на System.Management.
AllocatedBaseSize покажет текущий размер файла подкачки в МБ
using (var query = new ManagementObjectSearcher("SELECT AllocatedBaseSize FROM Win32_PageFileUsage"))
{
foreach (ManagementBaseObject obj in query.Get())
{
uint used = (uint)obj.GetPropertyValue("AllocatedBaseSize");
Console.WriteLine(used);
}
}
Пока MaximumSize покажет максимальный размер файла подкачки в МБ, , если пользователь установит максимальный размер (если система управляет им, запрос ничего не даст).
using (var query = new ManagementObjectSearcher("SELECT MaximumSize FROM Win32_PageFileSetting"))
{
foreach (ManagementBaseObject obj in query.Get())
{
uint max = (uint)obj.GetPropertyValue("MaximumSize");
Console.WriteLine(max);
}
}
Если AllocatedBaseSize меньше, чем то, что будет использовать ваше приложение, а MaximumSize достаточно велик для вашего приложения (или его системы), вам нужно будет рассмотреть крайний случай, когда хранилища недостаточно для роста Windows.Файл подкачки.Даже если в начале достаточно места, пользователь может загружать большой файл в другую программу или воспроизводить большое видео во время работы приложения.Подумайте о том, чтобы предложить режим «мало места», когда ваше приложение может работать медленнее, но не потреблять столько памяти.