Я уже использую ureadahead и предварительную нагрузку в течение долгого времени. Это хорошо работает, но я часто должен использовать Microsoft Office 2010, который установлен с PlayOnLinux. Для первой загрузки Word, Excel или Powerpoint нужно долгое время. Второе время загрузки этих приложений хорошо.
Таким образом, я задаюсь вопросом, существует ли возможность предварительно загрузить эти приложения? Кто-либо может помочь мне, как сделать это?
Я узнал, что существует также "винный предварительный загрузчик", но я не мог узнать, как он может помочь мне в этом случае точно. Это также немного сбивает с толку меня, если первое более длительное время загрузки является из-за PlayOnLinux' виртуальной машиной или из-за загрузки Вина определенного приложения.
Таким образом, мои явные вопросы:
Большое спасибо!
С уважением, Berzi
Существует параметр конфигурации для /etc/preload.conf
названный mapprefix
это принимает значение по умолчанию к этому:
# mapprefix:
#
# A list of path prefixes that controll which mapped file are to
# be considered by preload and which not. The list items are
# separated by semicolons. Matching will be stopped as soon as
# the first item is matched. For each item, if item appears at
# the beginning of the path of the file, then a match occurs, and
# the file is accepted. If on the other hand, the item has a
# exclamation mark as its first character, then the rest of the
# item is considered, and if a match happens, the file is rejected.
# For example a value of !/lib/modules;/ means that every file other
# than those in /lib/modules should be accepted. In this case, the
# trailing item can be removed, since if no match occurs, the file is
# accepted. It's advised to make sure /dev is rejected, since
# preload doesn't special-handle device files internally.
#
# Note that /lib matches all of /lib, /lib64, and even /libexec if
# there was one. If one really meant /lib only, they should use
# /lib/ instead.
#
# default: (empty list, accept all)
mapprefix = /usr/;/lib;/var/cache/;!/
Это означает это файлами по умолчанию в /usr
, /lib
и /var/cache
имеют право, но другие файлы не будут предварительно загружены. Вы могли изменить его для включения пути в диск, где программа, которую Вы хотите кэшируемый, существует, такие как:
mapprefix = /usr/;/lib;/var/cache/;/home/someone/.winexxx/;!/
Где /home/someone/.winexxx
WINE_PREFIX
для данной программы PlayOnLinux.
Другая опция состояла бы в том, чтобы использовать gopreload
управляйте и запущенный что программа вручную, что-то вроде этого:
gopreload WINE_PREFIX=~/.winexxx wine ~/.winexxx/drive_c/foo.exe
Хотя для этого a.) необходимо было бы компилировать/устанавливать gopreload
вручную и b.) необходимо должны быть удостовериться выполнение корректного wine
программа с префиксом и другими настройками PlayOnLinux использовала бы. Можно, вероятно, получить тех, которые путем рассмотрения ярлыка или .desktop файла, если можно заставить PlayOnLinux создавать один для Вас.
Однако существует другая проблема, которая является тем, что предварительная нагрузка рассматривает кодом по сравнению с данными и как это предварительно загружает вещи. У меня есть чувство, что большая часть того, что выполняется вином, закончит тем, что рассматривалась как данные и не предварительно загружалась. Вы захотите проверить файлы журнала предварительной нагрузки для наблюдения то, что это на самом деле делает, если Вы идете тем путем.
Решение бедного человека могло состоять в том, чтобы создать сценарий начальной загрузки, который просто читает эти файлы из диска таким образом "воспламенение" кэш для содержания их, чего-то как:
файлы ionice-c 3 vmtouch '/home/someone/.winexxx/drive_c/Program (x86) / Microsoft Office'
Это работало бы ionice
так, чтобы это произошло в фоновом режиме / неактивный для не замедления другой функциональности и затем vmtouch
отобразить данные для программы в RAM.