Если я могу интерпретировать ваш вопрос, да, есть способ ускорить ваше программное обеспечение и кэшировать вещи, если вы хотите разрешить сохранение состояний, то есть файлов под вашим контролем, которые просто нужно открывать при входе пользователя в систему и настройках программы, которые всегда тот же самый.
Вы можете сделать это на MacOS, Linux и Windows: если все сделано правильно, это может значительно повысить скорость работы системы, снизить общую температуру системы и увеличить срок полезного использования носителя. Есть несколько факторов, которые будут важны при принятии решения, подходит ли это для вашего случая использования:
Объем физически доступной оперативной памяти (менее 8 ГБ на MacOS или Windows 64bit может быть катастрофически поврежден)
Количество основных программ и служб, которые должны быть запущены
Производительность оборудования и общие характеристики
В определенных случаях, когда контейнеры или виртуальные машины невозможны или неосуществимы, и желательна либо высокая производительность и / или абсолютная воспроизводимость, это определенно верный путь.
При входе пользователя скрипт запуска автоматически резервирует часть памяти и создает символическую ссылку в виде директории: ramdisk . Затем все программные файлы и файлы данных копируются с SSD на виртуальный диск. Затем соответствующие программы автоматически запускаются с использованием подготовленных вами настроек и открывают файлы с историей в настройках системы для автоматического запуска.
Ниже приведен своего рода рецепт, которому может следовать ваш сценарий.
Создать определенный профиль пользователя, который «содержит» или имеет доступ ко всем нужным программам и данным; тот, где все ненужные программы не запускаются. Отключите службы, программы, сетевые подключения, экранные заставки и т. Д. И, по возможности, делайте это из (пользовательских) настроек системы.
Убедитесь, что у вас много памяти и профилируйте загрузку системы в тех условиях, которые вы хотите воспроизвести. Составьте список программ, которые вам нужны: найдите исполняемые файлы, расположение временных файлов и созданные пользователем файлы и ресурсы. Это файлы, которые вы хотите скопировать на свой виртуальный диск. Это хорошее время для настройки размера вашего виртуального диска. Переименуйте временные файлы и сохраните их в качестве резервных копий в исходном месте. Затем создайте символические ссылки, которые указывают на исходные временные файлы на размещенные на ramdisk. Скопируйте свои пользовательские ресурсы, а затем вызовите программу, чтобы инициировать пользовательские файлы, с которыми вы хотите, чтобы она открывалась, а также любые флаги, которые вам могут понадобиться.
Это все, что нужно сделать. Только не позволяйте вашей системе переходить в спящий режим или отключать питание ...
MACOS
Я делаю это для критически важной инфраструктуры на железном железе во время художественных инсталляций и аудиовизуальных представлений. Я на самом деле делал это недавно на MacOS Sierra, в данном случае это было для живого видео-исполнения с resolume arena и захвата экрана с помощью сифона.
#!/usr/bin/env bash # use these cache dirs dirs="com.resolume.arena info.v002.syphon.Syphon-Recorder" # get available memory size_mb=$(sysctl hw.memsize | awk '') # use half the memory size_mb=$[size_mb/2048] origin="$/Library/Caches" ramdisk="/Volumes/ramdisk" diskutil erasevolume HFS+ "ramdisk" hdiutil attach -nomount ram://$[size_mb] if [ -d $ ]; then for dir in $ do /bin/mkdir -p $/$ if [ -d $/$ ]; then if [ ! -L $/$ ]; then /bin/mv $/$ $/$.bak fi fi if [ -L $/$ ]; then /bin/rm $/$ fi if [ ! -L $/$ ]; then /bin/ln -v -s -f $/$ $/$ fi done fi /bin/mkdir -p $/Applications/Resolume /bin/mkdir -p $/RAMDISK_REPOSITORY/ echo "Copying Resolume to ramdisk" /bin/cp -r "/Applications/Resolume Arena 5.0.2/" "$/Applications/Resolume/" /bin/cp -r "/Users/Shared/RAMDISK_REPOSITORY/" "$/RAMDISK_REPOSITORY/" cd /Applications/syphon /usr/bin/open Syphon\ Recorder.app/ cd /Volumes/ramdisk/Applications/Resolume/ /usr/bin/open Arena.app/ exit
LINUX
В среде Linux Arch - это отличная платформа, на которой вы можете по-настоящему поддерживать установку, устанавливая только то, что вам нужно. В экстремальных ситуациях инженер может скопировать всю системную папку на виртуальный диск (например, с SD-карты с относительно низкой спецификацией только для чтения (для предотвращения повреждения SD-карты) или даже из сетевого расположения. Приведенный выше код должен работать с несколько модификаций.
WINDOWS
Я лично не делал этого на Windows, но это возможно. Проверьте это, если вам нужен виртуальный диск в Windows:
Windows ERAM на GitHub