Есть ли какой-либо возможный способ сохранить экземпляр отдельной программы, после того как он был загружен в ОЗУ, а затем загрузить эту программу обратно в ОЗУ из этого сохраненного экземпляра. Вот конкретный пример.
У меня есть программа (Adobe Photoshop), которая отлично работает на моем компьютере. Рендерится быстро, не имеет задержки, быстро выходит. Единственное, что он не делает, это быстро загружается, обычно это занимает около 8-10 минут. Мне было интересно, есть ли способ захватить экземпляр Photoshop, работающий в оперативной памяти (скажем, в VHD или IMG-файле).
Затем загрузите этот экземпляр обратно в оперативную память вместо загрузки отдельных файлов и настроек программ с диска. Я думаю о чем-то похожем на RAM-диск, но я понятия не имею, существует ли он вообще (если нет, то должен).
задан Ulincsys 630
2 ответа 2
Это невозможно. Если программа загружается в течение 10 минут, значит, она что- то делает в течение 10 минут. Если бы можно было что- то пропустить, оно бы пропустило это. Компьютеры являются конечными автоматами, и переход из одного состояния в другое может занять некоторое время. В общем, вы не можете просто догадаться, в каком состоянии машина остановится.
Что если установить игру в оперативную память? Вырастет FPS или скорость загрузки?
Поверьте мне, если бы это было возможно в этом конкретном случае, Adobe сделала бы это — они знают, что ждать 10 минут не весело. Реальная проблема, которую вам нужно решить, это выяснить, что заставляет Photoshop запускаться так долго. Process Monitor может пригодиться, но сначала я бы проверил, не связано ли это со сторонними плагинами, слишком большим количеством установленных шрифтов и т.д.
ответ дан gronostaj 28k
- Объем физически доступной оперативной памяти (менее 8 ГБ на MacOS или Windows 64bit может быть катастрофически поврежден)
- Количество основных программ и служб, которые должны быть запущены
- Производительность оборудования и общие характеристики
В определенных случаях, когда контейнеры или виртуальные машины невозможны или неосуществимы, и желательна либо высокая производительность и / или абсолютная воспроизводимость, это определенно верный путь.
При входе в систему пользовательский скрипт запуска автоматически резервирует часть памяти и создает символическую ссылку в виде директории: ramdisk. Затем все программные файлы и файлы данных копируются с SSD на виртуальный диск. Затем соответствующие программы автоматически запускаются с использованием подготовленных вами настроек и открывают файлы с историей в настройках системы на автозапуск.
Ниже приведен своего рода рецепт, которому может следовать ваш сценарий.
Создать определенный профиль пользователя, который «содержит» или имеет доступ ко всем нужным программам и данным; тот, где все ненужные программы не запускаются. Отключите службы, программы, сетевые подключения, экранные заставки и т.д. И, по возможности, делайте это из (пользовательских) настроек системы.
Убедитесь, что у вас много памяти и профилируйте загрузку системы в тех условиях, которые вы хотите воспроизвести. Составьте список программ, которые вам нужны: найдите исполняемые файлы, расположение временных файлов и созданные пользователем файлы и ресурсы. Это файлы, которые вы хотите скопировать на свой виртуальный диск.
КАК ОПТИМИЗИРОВАТЬ ОПЕРАТИВНУЮ ПАМЯТЬ/RAM/ОЗУ/ОПЕРАТИВКУ ДЛЯ ИГР | ПОВЫШЕНИЕ ФПС В ИГРАХ 2020
Это хорошее время для настройки размера вашего виртуального диска. Переименуйте временные файлы и сохраните их в качестве резервных копий в исходном месте. Затем создайте символические ссылки, которые указывают на исходные временные файлы на размещенные на 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:
Источник: poweruser.guru
Sysadminium
На этом уроке рассмотрим две технологии, которые ускоряют запуск часто используемых приложений и служб Windows. Это Предвыборка и Cупервыборка.
Оглавление скрыть
Подкачка по требованию
Windows использует алгоритм подкачки, который называется «Подкачка по требованию«. Это означает что при старте процесса в память загружаются не все данные, а только те, которые нужны для начала его работы.
Когда процесс только начинает работать, не все необходимые ему данные успевают подгрузиться в его рабочий набор. Процесс при этом получает много ошибок страниц (page fault). Когда процесс получает ошибку страницы, диспетчер памяти загружает нужную страницу в его рабочий набор, а в месте с ней ещё несколько страниц. Подгрузка дополнительных страниц вместе с основой призвана уменьшить нагрузку на дисковую подсистему.
Но все равно такая стратегия замедляет запуск приложений и служб Windows. С таким замедлением призваны бороться две технологии диспетчера памяти: Предвыборка и Cупервыборка.
Супервыборка
За супервыборку отвечает служба SysMain (ранее называлась SuperFetch). Она анализирует две вещи. Во-первых, какие приложения используются чаще всего. И во-вторых, к каким данным эти приложения обращаются чаще всего. Эти данные заранее помещаются в оперативную память (cache) для более быстрого доступа к ним.
Супервыборка может ускорить работу системы увеличив потребление оперативной памяти. Кроме этого, супервыборка способна продлить срок службы жестких дисков, так как на них уменьшается нагрузка. Помимо всего прочего служба SysMain сжимает и объединяет страницы памяти, повышая производительность системы в целом.
В итоге SuperFetch существенно увеличивает быстродействие системы и установленных программ. Поэтому отключать этот компонент настоятельно не рекомендуется.
Предвыборка
Предвыборка (PreFetcher) анализирует все запускаемые приложения в течении 10 секунд (при запуске). При этом запоминается какие файлы и данные загружались в оперативную память.
Когда процесс стартует, он постепенно подгружает необходимые ему данные. При этом несколько страниц памяти могут загрузиться из одного файла, затем несколько из другого, затем еще несколько из первого, и так далее.
Предвыборка анализирует какие страницы загружались и из каких файлов. А при следующем запуске этого приложения все необходимые ему данные разом загрузятся в оперативную память. Это уменьшит нагрузку на жёсткий диск и ускорит запуск приложения.
Отключить или включить PreFetcher можно редактируя параметр реестра:
КомпьютерHKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParametersEnablePrefetcher 0x00000000 — компонент отключен 0x00000001 — ускорение запуска приложений 0x00000002 — ускорение загрузки системы 0x00000003 — ускорение запуска приложений и загрузки системы
Файлы PreFetcher хранятся в каталоге C:WindowsPrefetch и имеют расширения pf:
Имена таких файлов состоят из имени приложения и хеша приложения.
SuperFetch также создает в этом каталоге файл Layout.ini:
В нем хранится список файлов и каталогов в том порядке, в котором они используются в ходе начальной загрузки системы или запуска приложений. Также в этом списке находятся файлы, к которым происходят частые обращения.
Источник: sysadminium.ru
Как узнать, какое приложение загружает оперативную память смартфона на Android?
В магазине Play Store огромное количество приложений и игр, но не каждое из них сделано добросовестно. Наверняка у каждого в смартфоне найдутся те приложения, которые небрежно используют вашу оперативную память. Это приводит к замедлению всей системы не зависимо от того 3ГБ оперативной памяти в вашем устройстве или 6ГБ. Если какое-то приложение использует больше памяти чем ему отведено, то вся система может замедляться. Именно с этой проблемой мы сейчас разберемся используя штатные инструменты Android.
Менеджер оперативной памяти
В смартфонах с версией Android 6 и выше, присутствует » Менеджер оперативной памяти» . Это меню показывает все приложения, которые работают в фоновом режиме в течение довольно долгого времени.
Итак, чтобы зайти в этот самый менеджер оперативной памяти, первым делом нужно разблокировать » Параметры разработчика «. Для этого перейдите в настройки телефона и найдите раздел » О телефоне «. Затем нажмите на пункт » Номер сборки » семь раз. После чего, меню Параметров Разработчика появятся либо внизу настроек, либо в разделе — Настройки> Расширенные настройки> Для разработчиков.
Теперь заходим в Параметры разработчика и открываем «Запущенные/Работающие приложения». В зависимости от смартфона, название пунктов, как и само меню может быть разным, поэтому будьте внимательны.
Перед вашими глазами появится список фоновых служб, а так же график показывающий текущее использование ОЗУ приложениями. Если минимум треть от общего количества вашей ОЗУ свободно, то у вас, скорее всего, всё в порядке с использованием оперативной памяти. А замедление системы, которое вас настигло, является чем-то другим.
В ином случае — вы найдете свою проблему среди списка запущенных служб. В этом списке выберите приложение, которое съедает вашу оперативную память, нажмите на него. После чего, вы увидите пункт «Остановить», который полностью выключит процесс и освободит оперативную память.
Источник: dzen.ru