Mac OS X sysctl получит общий и свободный объем памяти

Ответы:

8

Вы не

Ну, кроме общего объема памяти, который вы могли бы найти sysctl -a | grep mem( hw.memsize = 4294967296на моей машине).

vm_statотображает ту же информацию, что Activity Monitor.appи вы, вам просто нужно умножить желаемое значение на размер страницы. Оба представлены в выходных данных.

Даниэль Бек
источник
vm_stat: страницы бесплатно: 12054 .. 12054 * 4096/1024/1024 = 47,08 и монитор активности показывает: 103 MB grab.by/6KSD VM_stats выхода: pastebin.com/BJcxPswv Почему я получаю неправильные значения?
кесрут
1
Добавьте Pages speculativeк бесплатным. Вы могли заметить, что свободный + активный + неактивный + проводной не влияет на общий размер, отображаемый в мониторе активности.
Даниэль Бек
3
grepне кажется необходимости - на моем MacBook Pro, sysctl hw.memsizeтакже работает и печатаетhw.memsize: 8589934592
ССК
3
top -l 1 | grep PhysMem: | awk '{print $10}'

top -l 1работает topв режиме регистрации (например, вывод файла, а не вывод на дисплей / вывод терминала) в течение одной итерации, затем завершается. В grep/ awkфильтры для свободной памяти значения в topвыходе.

Killinks
источник
YMMV. На Сьерра, top -l 1 | grep PhysMem:дает мне, PhysMem: 9674M used (1752M wired), 6701M unused.чтобы я использовал top -l 1 | grep PhysMem: | awk '{print $6}'. Благодарность!
pyb
1

Почему бы не использовать topкоманду для просмотра использования памяти в реальном времени?

ОБНОВИТЬ:

Вы можете использовать следующие команды:

sysctl -a | grep hw.usermem
sysctl -a | grep hw.physmem

Для получения полного списка введите man sysctl в терминал.

ricbax
источник
Вероятно, для использования в сценарии.
Даниэль Бек
2
Обе usermemи physmemотображать бесполезные значения для систем более 2 ГБ ОЗУ Оба, вероятно, ограничены 32-разрядным целым числом со знаком.
Даниэль Бек
Может быть, я могу использовать top, чтобы получить один выход. После того, как я получу вывод, я проанализирую необходимые значения.
кесрут
Бесполезное использование grep... sysctl hw.memsize= всего sysctl hw.physmem,sysctl hw.usermem
TrinitronX
@DanielBeck прав, hw.memsizeэто то , что вы, вероятно, хотите всего. Смотрите мой комментарий здесь для получения дополнительной информации
TrinitronX
1

Mac OS X / Linux

$ sysctl -a | grep '^hw\.m'
hw.memsize: 8589934592
Рохит Малгаонкар
источник
Это выглядит как небольшая настройка существующих ответов. Вероятно, более уместно в качестве комментария.
fixer1234 26.09.16
1

Нет grep не требуется.

sysctl -n hw.memsize
Штейн
источник