Я ищу команду, которая возвращает доступную физическую память в Windows. Я пробовал "systeminfo", но она занимает слишком много времени и возвращает много ненужной для меня информации. Если для этого нет никакой команды, как лучше всего получить ее другим способом с помощью командной строки?
Это займет некоторое время (около 10 секунд для меня), но следующая команда сделает это:
systeminfo |find "Available Physical Memory"
Если вы работаете в Windows 7, вы можете использовать это в приглашении powershell:
(Get-WMIObject Win32_PhysicalMemory | Measure-Object Capacity -Sum).sum
Или, если вы хотите получить красивое число гигов:
(Get-WMIObject Win32_PhysicalMemory | Measure-Object Capacity -Sum).sum/1GB
Или если вы работаете на более старой версии windows (или W7, если на то пошло) в командной строке:
wmic memorychip get capacity
Вы уже знаете о systeminfo, согласно вопросу. И, как отметил Мат в комментарии, команда
mem` не говорит вам того, что вы хотите знать.
JP Software's TCC/LE имеет встроенную команду MEMORY
, которая работает следующим образом:
[C:\]memory30 % Memory load
3,471,441,920 байт общая физическая оперативная память 2,428,456,960 байт доступной физической оперативной памяти
5,440,962,560 байт общий файл страниц 4,505,726,976 байт доступный файл страниц
2,147,352,576 байт всего виртуальной оперативной памяти 2,053,435,392 байт доступной виртуальной оперативной памяти
262,144 characters total alias 262,143 characters free 20,480 characters total history
[C:]
В нем также есть функция переменных @WINMEMORY[]
, которую можно использовать различными способами:
[C:\]echo There are %@COMMA[%@WINMEMORY[2]] available bytes physical RAM. Доступно 2 456 285 184 байта физической оперативной памяти.[C:]
Вместе с Windows поставляется команда msinfo32
, вывод которой можно ограничить более узко, чем systeminfo
:
msinfo32 /categories +systemsummary
Существует множество других утилит, созданных разными людьми, которые могут сообщить ту же информацию.