1

У меня есть Snow Leopard и 8G оперативной памяти. Монитор активности сообщает о размере виртуальной машины 173 гигабайта . Мой жесткий диск только 250G, и 200G из этого используется. У меня на жестком диске больше данных, чем 27 ГБ. Таким образом, размер виртуальной памяти не может быть 173 ГБ, не так ли?

2 ответа2

3

Виртуальная память не полностью занята все время. Ваш Mac, вероятно, установил максимальный предел для виртуальной памяти в 173 ГБ.

Это не означает, что все 173 ГБ памяти было выделено. Он будет выделен в соответствии с требованием.

Я не думаю, что более 8 ГБ будет выделено, если вы не используете какое-то безумно голодное приложение.

0

У меня размер виртуальной машины 350 ГБ.

Размер виртуальной машины фактически не отражает ни используемый ресурс, ни ограничение. Это сумма размеров адресного пространства (ps -ax -O vsz покажет их) для всех запущенных процессов. Размер адресного пространства - это просто наибольшее число, используемое этим процессом для ссылки на места в памяти; память ниже этого значения может даже не быть выделена для какой-либо цели.

Вот только один пример того, почему будут такие пробелы:

Несколько программ могут использовать общие библиотеки кода (также иногда называемые каркасами), такие как Cocoa. Для эффективного запуска программы эти общие библиотеки расположены таким образом, что каждая библиотека в вашей системе (в основном) имеет свой виртуальный адрес - это означает, что при загрузке программы ее код, который ссылается на библиотеку, уже может указывать на этот адрес и не нужно переписывать с другими адресами (перемещение или динамическое связывание). Но не каждая программа использует каждую библиотеку, поэтому будут пробелы.

(Я не эксперт по этим вопросам; некоторые конкретные детали могут отсутствовать. Рассмотрим приведенное выше руководство о сложности, которая может существовать в современной системе, а не о том, как она на самом деле работает.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .