Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 мар 2024, 19:32

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
СообщениеДобавлено: 24 июл 2010, 01:57 
Не в сети
Зарегистрирован:
01 июн 2010, 03:10
Последнее посещение:
08 авг 2011, 01:24
Сообщения: 386
Одна из замечательных фич UNIX-систем, в том числе и Linux: tmpfs, которую я также применяю для linux-hlds сервера, может вполне применяться и для клиентской части, если у вас достаточный объем оперативной памяти.
Вкратце, tmpfs - псевдо файловая система, которая формируется внутри вашей оперативной памяти. Вы можете выделить, например, 1гб для tmpfs-точки, но физически весь гигабайт будет доступен для использования системой, пока вы не займете его файлами. По умолчанию в большинстве дистрибутивов существует tmpfs-точка на /dev/shm, она изредка используется некоторыми программами для хранения временных данных. Обычно выделяется 50% от размера вашей оперативной памяти для /dev/shm на этапе загрузки системы. Как уже упоминалось выше, эти 50% не блокируются и они могут спокойно использоваться приложениями, если не заняты данными, хранимыми в tmpfs.

Все, что необходимо сделать: скопировать базовые клиентские файлы(сперва соберите все это в отдельной папке, протестируйте и потом вы сможете легко скопировать эту папку полностью в tmpfs).

Далее, выделите, скажем, 1 гбайт под tmpfs (делать это нужно под root'ом):
Код:
mount -t tmpfs -o size=1G,uid=<ваш_uid>,gid=<ваш_gid> tmpfs /tmp/hl-client
Ваш uid и gid вы можете получить запустив в своем юзерском терминале(не рутовом!) команду id.

Дальнейшие действия производятся под вашей обычной учетной записью. Скопируйте вашу заготовленную папку с клиентом внутрь /tmp/tmpfs:
Код:
cp -R /home/user/misc/hl-client/* /tmp/hl-client

Теперь можно и поиграть! :)
Код:
cd /tmp/hl-client;wine hl

Я не гарантирую, что вы заметите какие-либо серьезные улучшения, однако ваш жесткий диск отдыхает пока вы играете :)
Это, разумеется, не единственное место, где можно применить хак с tmpfs, все ограничено лишь аппаратными ресурсами, вашей фантазией и потребностями! Ведь существует еще масса приложений и случаев, когда скорость доступа к данным критична, вот тут на помощь и приходят UNIX-системы :)


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 04 янв 2011, 10:51 
Не в сети
Зарегистрирован:
26 окт 2010, 21:23
Последнее посещение:
26 авг 2013, 11:47
Сообщения: 113
*ехидно* а есть такое в вашей виндовс? Сомневаюсь. хорошая фича. Буду наверное так делать с хл, если потребуется. Единственная сложность - копировать при каждой загрузке. Но можно юзать s2disk.


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 04 янв 2011, 21:16 
Не в сети
Аватара пользователя
Зарегистрирован:
01 июн 2010, 23:25
Последнее посещение:
05 июл 2018, 16:02
Сообщения: 1035
Для вин есть.
http://ru.wikipedia.org/wiki/RAM_drive

Вот только необходимости в этом для ХЛ нету у меня.
ХЛ запускается до появления меню за 1 сек. С момента запуска до первого выстрела на сервере - около 3х сек.
(это с суперфетчем. на ноутбуке). А вот копирование ХЛ на рамдиск займет куда больше времени. Не говоря о том что даже 3х Гб рамдиска мне на хл не хватит.

_________________
Изображение


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 05 янв 2011, 00:01 
Не в сети
Зарегистрирован:
26 окт 2010, 21:23
Последнее посещение:
26 авг 2013, 11:47
Сообщения: 113
Для Windows в основном сторонние реализации, зачастую платные. А у нас все из коробки. Кстати, это не для ХЛ придумали же, мысли глобалньее. Представь какие приемущества дает на серверах! 8)


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 05 янв 2011, 00:45 
Не в сети
Аватара пользователя
Зарегистрирован:
01 июн 2010, 23:25
Последнее посещение:
05 июл 2018, 16:02
Сообщения: 1035
Для Windows есть бесплатные программы на разный вкус, цвет, интерфейс.
Насчет все из коробки - меня почему-то всегда отталкивали такие решения. Типа ноутбуков с предустановленным софтом.

Цитата:
Представь какие приемущества дает на серверах!

В моем случае - никаких :)
Только возможность потерять информацию при отключении питания т.к. бесперебойника нет.

Может кому-то из посетителей форума реально пригодится.

_________________
Изображение


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 05 янв 2011, 00:56 
Не в сети
Зарегистрирован:
26 окт 2010, 21:23
Последнее посещение:
26 авг 2013, 11:47
Сообщения: 113
Из коробки - имеется ввиду то, что поставляется с почти всеми Linux дистрами (А то и UNIX). А в винде надокачать... тем более я уверен, что оно юзерспейсное (что значит потерю скорости)


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 05 янв 2011, 14:36 
Не в сети
Зарегистрирован:
01 июн 2010, 03:10
Последнее посещение:
08 авг 2011, 01:24
Сообщения: 386
ганер, не разводи срач. Срачу место на лоре или где вы обычно это делаете. Я публикую полезную информацию.
Если это не очевидно, основной профит от использования tmpfs - снижение нагрузки на носитель, когда к данным обращаются часто. Копировать в tmpfs недолго, учитывая, что скорость записи туда по большому счету ограничена скоростью чтения с носителя. Если хочется копировать быстрее (например даже минимальная сборка HLDS копируется не так быстро, из-за большого количества мелких файлов), можно предварительно собрать это в один файл вот так:
Код:
mkdir /mnt/loop
dd if=/dev/zero of=/dev/shm/disk.img bs=1024 count=716800 # создаем 700MB образ
mount -o loop /dev/shm/disk.img /mnt/loop
cp -R /home/user/halflife/* /mnt/loop/
umount /mnt/loop
После чего переместить его на носитель.
Впоследствии, достаточно будет скопировать его в tmpfs, после чего точно так же примонтировать его через
Код:
mount -o loop /dev/shm/disk.img /opt/halflife
Минус такого метода в том, что вы не можете выйти за пределы размера disk.img, такая методика годна для ro-контента, поэтому гораздо проще подождать, пока все скопируется отдельными файлами в уже заготовленный tmpfs на /opt/halflife.


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 05 янв 2011, 19:47 
Не в сети
Зарегистрирован:
26 окт 2010, 21:23
Последнее посещение:
26 авг 2013, 11:47
Сообщения: 113
/dev/null писал(а):
ганер, не разводи срач.

Да ладно, не такой уж срач :D

Кстати, видел в журнале про железо специальную PCI плату, куда выткается рама, какраз для таких целей.


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 13 янв 2011, 22:43 
Не в сети
Зарегистрирован:
12 дек 2010, 17:01
Последнее посещение:
08 янв 2017, 23:01
Сообщения: 135
Вроде в *nix системах с памятью беда, в плане того, что постоянные "утечки" и проч.
Это все тестировалось?


Вернуться к началу
 Профиль 
  
СообщениеДобавлено: 16 апр 2011, 15:53 
Не в сети
Зарегистрирован:
26 окт 2010, 21:23
Последнее посещение:
26 авг 2013, 11:47
Сообщения: 113
cubeer писал(а):
Вроде в *nix системах с памятью беда, в плане того, что постоянные "утечки" и проч.
Это все тестировалось?


I lol'd... Целыми неделями пашет линукс-сервер с hldm, никогда не бывает утечек. Я уже не говорю про нативные демоны.


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB