У меня два Макбука 2009 года. Один имеет 4 гигабайта оперативной памяти и работает под управлением ОС 10.10; у одного 2 гигабайта и работает ОС 10.5.
Я рассматриваю возможность обновления последней машины до Yosemite (10.10), но я беспокоюсь, что она будет работать медленно с таким небольшим объемом оперативной памяти. Чтобы понять, на что будет похожа производительность, мне интересно, есть ли способ «отключить» половину оперативной памяти на машине с более высокими характеристиками. Если бы я сделал это, я мог бы получить представление о том, как Yosemite будет работать на машине с 2 гигабайтами, прежде чем выполнять обновление.
Есть ли способ временно отключить оперативную память без физического удаления чипа?
Нет необходимости извлекать оперативную память, создавать виртуальный диск или использовать виртуальную машину. Просто загрузите ОС, используя maxmem=
значение флага загрузки, которое было создано для этой цели и использовалось десятилетиями.
Просто откройте Терминал как sudoer и введите
sudo nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
После ввода пароля смените
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
<key>Kernel Flags</key>
<string></string>
</dict>
</plist>
к
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
<key>Kernel Flags</key>
<string>maxmem=2048</string>
</dict>
</plist>
и запишите изменения на диск с помощью ctrloи выйдите из nano с помощьюctrlx
Перезагрузите Mac, чтобы применить изменения.
Чтобы отменить изменения, снова удалите «maxmem=2048» с помощью nano.
Просто создайте RAM-диск размером 2 ГБ, чтобы уменьшить доступную оперативную память для системы и запущенных приложений.
Чтобы получить необходимое количество блоков для создания такого диска, умножьте (RAMdiskSize в МБ)*2048. В вашем примере это 2048*2048=4194304.
Затем откройте Терминал и введите:
diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach -nomount ram://4194304`
Вы получите сообщение, похожее на это:
Started erase on disk9
Unmounting disk
Erasing
Initialized /dev/rdisk9 as a 2 GB HFS Plus volume
Mounting disk
Finished erase on disk9 RAM Disk
затем используйте dd и путь к тому и заполните диск случайными данными:
dd if=/dev/random of=/Volumes/RAM\ Disk/random.dat bs=1024k
Команда будет записывать фрагменты случайных данных размером 1 МБ в файл random.dat в томе RAM-диска, пока он не будет заполнен до отказа.
Это должно искусственно уменьшить доступную оперативную память примерно на 2 ГБ, пока вы не отключите RAM-диск или не перезагрузите Mac.
После некоторого тестирования это работает не так надежно, как в старой системе. Причина в новом управлении памятью в последних системах (10.9 и выше).
Память, используемая RAM-диском, не должна быть заменена на диск, но в зависимости от качества файла случайных данных она может быть немного сжата. Вы можете увеличить размер RAM-диска на 5-10% до ~ 2,1 ГБ, чтобы получить более реалистичную картинку.
Если вы хотите сделать это в 10.5-10.8, следующая команда кажется достаточной для получения надежного результата (чтобы получить идентификатор диска, проверьте вывод diskutil...
команды):
dd if=/dev/zero of=/dev/rdisk9 bs=1m
dd if=/dev/random of=/Volumes/RAM\ Disk/random.dat bs=1024k
of=/Volumes/RAM\ Disk/random.dat
то все должно быть в порядке. если вы записываете на диск, of=/dev/rdisk9
то вы должны быть root, и, возможно, его придется размонтировать. (его надо размонтировать, иначе система запутается)Да — используйте этот memory_pressure
инструмент, чтобы применить к системе реальное давление памяти.
Это не идеальная аналогия с удалением микросхемы памяти, так как настройка виртуальной памяти по-прежнему знает, что имеется 4 ГБ или ОЗУ, а аргумент -p процент_свободный не будет выделять постоянный объем ОЗУ, но будет поддерживать систему на уровне X процентов свободной.
Это должно позволить вам очень быстро увидеть, соответствует ли ваша рабочая нагрузка системе с 2 ГБ оперативной памяти, даже при несовершенной аналогии.
Если вы можете физически удалить чип - вы можете сначала смоделировать вещи и получить тест, а затем изменить оборудование, если вам нужно проверить его точность.
Добавление к ответу OSdweeb:
Начиная с El Capitan, редактирование com.apple.Boot.plist
файла возможно только при отключении протокола целостности системы (SIP) (см. эту ветку ).
Однако вы можете установить загрузочные флаги с помощью следующей команды:
sudo nvram boot-args="maxmem=2048"
Другим решением было бы использовать виртуальную машину для имитации Mac с меньшей оперативной памятью. Установите VMWare Fusion, Parallels или VirtualBox (если вы любите приключения) и установите туда OS X. Затем вы можете управлять количеством ядер, объемом дискового пространства и (как вы просили) объемом оперативной памяти, доступной для OS X. VirtualBox бесплатен, но в настоящее время ограничен 3 ГБ для OS X, пока разработчики не разрешат 64-битные операции ядра. . Два других продукта имеют 30-дневную и 14-дневную пробную версию соответственно.
Чтобы ВЫНЯТЬ ОЗУ, вы можете:
Если ваш MacBook алюминиевый, вы снимаете всю нижнюю часть, и оперативная память должна быть прямо посередине.
Если он белый, возьмите маленькое отделение в углу и таким образом получите доступ к барану.
Источник: https://support.apple.com/en-ca/HT1651 .
Саару Линдестокке
дБ'
Джаспер Блюз
кланомат