Почему OS X использует виртуальную память, когда у меня все еще есть свободная RAM?


9

У меня есть этот удивительный MacBook Pro с 8 ГБ оперативной памяти. Когда я открываю Activity Monitor, мне кажется, что у меня достаточно оперативной памяти, но мой компьютер предпочитает использовать виртуальную память для многих целей. Почему это? Есть ли способ изменить это? Было бы разумно?

Кроме того, у меня, кажется, есть 7 ГБ страниц и нет постраниц. Это нормально? Это много данных.


1
Смотрите этот вопрос . Когда он говорит о виртуальной памяти, это не значит, что он использует ваш диск в качестве ОЗУ (размер подкачки делает). Отсутствие выгрузки также указывает на то, что он не хранит ОЗУ на диске.
ughoavgfhw

Page входы и выходы связаны со свопом, а не с виртуальной
машиной

Ответы:


8

Вы, кажется, неправильно понимаете виртуальную память. Виртуальная память - это просто механизм, который ОС использует, чтобы она выглядела так, как будто каждая программа имеет свое собственное, чрезвычайно большое (4 ГБ на 32-разрядной, 16 ЕВ на 64-разрядной) адресное пространство. Он также предоставляет ОС возможность использовать пейджинг, при этом выглядит (для приложений), что используется только реальная оперативная память. Короче говоря, это всего лишь абстракция, и статистика «Виртуальной памяти» в Activity Monitor не имеет смысла (для 99% случаев использования). Вы не должны беспокоиться о том, какое число появляется там, потому что это не имеет никакого отношения к тому, используется ли «настоящая» RAM или нет.

О вашей статистике подкачки: вы не предоставили подробных сведений о том, как вы используете свою систему, поэтому трудно понять, что-то не так или нет, но меня не пугает значение 7 ГБ. Также обратите внимание, что сообщаемыми значениями являются значения входов / выходов с момента загрузки, поэтому, если вы будете постоянно держать ноутбук включенным, как я, неудивительно, что число накапливается через некоторое время.


Проблема возникает, когда вы начинаете получать много страниц. Страницы имеют низкую стоимость при наличии свободной физической памяти. Вывод страниц вызван тем, что ОС требуется что-то загружать, но у него нет свободной физической памяти, и он должен сначала что-то поменять. С 8 ГБ ОЗУ это нетривиально.
Алесплин

Хорошая отправная точка для измерения статистики пейджинга в реальном времени с vm_statпомощью этого ответа
bmike
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.