RAM Cap - инструкция
Page 1 of 11 123 ... LastLast
Results 1 to 10 of 101
  1. #1
    Holdem Manager Support Sarek's Avatar
    Join Date
    May 2010
    Location
    Eridani 40
    Posts
    22,519

    Exclamation RAM Cap - инструкция

    0. Просьба не писать в эту тему ни о чем другом, кроме указанного в заголовке.
    1. В ХМ внедрено динамическое ограничение потребления ХМ2 оперативной памяти. Публике зачастую не нравилось, что ХМ2 берет себе при работе много RAM. Публика полагает, что это сказывается на быстродействии всего компа. На самом деле это, в основном, заблуждение - но если публика настаивает...
    2. В результате многочисленных экспериментов были выявлены оптимальные (на наш взгляд) параметры, которые и заложены по умолчанию. Однако, конфигураций железа \ размеров базы данных \ других моментов - множество, все не перетестишь (и даже не придумаешь). Потому, помимо умолчаний, пользователю дается возможность поуправлять переменными и поискать свой оптимум. Было бы неплохо, если бы свои изыскания пользователи не поленились бы опубликовать здесь. Это даст возможность более тонкой настройки умолчаний в дальнейшем, на основании практики применения. За что заранее выражаю благодарность.
    3. Как RAM Cap работает:
    Начальный \ статичный RAM Cap задан на уровне 350 мегабайт оперативки. Это минимум, ниже которого переменными задать нельзя. Но можно больше.
    Кроме статичного, введен динамический RAM Cap = 400 байт оперативки на одну руку hero в базе. Можно менять в любую сторону. Если задать динамический в ноль - останется только статический.
    Первичное задание ограничения потребления оперативной памяти (Ram Cap) - в соответствии со значениями упомянутых статической и динамической переменных (или с умолчальными, если в конфиге не заданы другие) - происходит после Loading hands на старте ХМ2. Или после смены активного игрока. И в дальнейшем подвергается уточнению каждые 15 секунд. В соответствии с теми же значениями переменных.
    Пример: на hero в базе 1 миллион рук. Итого RAM CAP = 350 + 1000000*0.4 = 750 mb (примерно)
    О чем в логе появляется запись такого вида:
    MemoryCareService.CurrentPlayerChanged] Memory cap set to 760510976
    При работе ХМ2 в какие-то короткие моменты (очень короткие) могут быть всплески потребления. Которые этим самым Ram Cap тут же и гасятся. Речь идет об интервалах реакции в пару секунд.
    4. Для более точного понимания: сам ХМ значения переменных НЕ меняет. Он их только принимает во внимание при расчетах.
    А вот как менять (управлять):
    В файле %appdata%\HoldemManager\holdemmanager.config
    в секцию General
    можно внести (вручную) эти две строки
    <Section Name="General">
    <Key Name="ProcessWorkingSetBase" Value="350000000" />
    <Key Name="ProcessWorkingSetHandAmount" Value="400" />
    Внимание: в данном примере как раз умолчательные значения и есть. То есть: если в конфиге будет задано ровно столько - это то же самое, как если бы в конфиге данных строк вообще не было.
    Единица измерения в этих строках - байт. Так что не напутайте с нулями при экспериментах.
    Если хочется уменьшить динамическую часть - ставим, например, так
    <Key Name="ProcessWorkingSetBase" Value="350000000" />
    <Key Name="ProcessWorkingSetHandAmount" Value="200" />

    Если есть желание динамическую часть вообще отменить - задаем
    <Key Name="ProcessWorkingSetBase" Value="350000000" />
    <Key Name="ProcessWorkingSetHandAmount" Value="000" />

    Или вот вариант увеличения статической составляющей при нулевой "динамике"
    <Key Name="ProcessWorkingSetBase" Value="500000000" />
    <Key Name="ProcessWorkingSetHandAmount" Value="000" />

    Напоминаю: задание значения статической переменной меньше 350000000 - не сработает, программа тогда сама возьмет 350 мб. Это минимум.
    Да, куча нулей в параметре может являться источником ошибок пользователей при подстройке - лишний случайно добавил или недописал. Но с этим мы чуть позже разберемся, у программистов были какие-то резоны задавать именно в байтах.

    5) Еще была мысль попробовать задать и "совсем верхнее" значение допустимого размера потребляемой RAM (в процентах от общего наличия на компе, например 50) - но этого пока не сделано, нужно проанализировать customer's feedback о том варианте, что уже внедрен в Бету670. Может, и вообще не понадобится.

    Так что если кто хочет поэкспериментировать - пишите результаты сюда. И не забыть параметры конфигурации компа сообщить. И размеры базы данных.
    Будем собирать feedback - что поможет улучшить эту фичу.

    Дополнение: По сообщениям нескольких (но немногих) пользователей, на их машинах вот при таких параметрах и с большой базой данных
    <Key Name="ProcessWorkingSetBase" Value="2000000000" />
    <Key Name="ProcessWorkingSetHandAmount" Value="840" />
    ХМ работает лучше, чем при заданных по умолчанию. Но при этом самой оперативки в компьютере должно быть много (8+ гБ)
    Проверить эту информацию лично мне не представилось возможным: не с чем сравнивать "лаги ХМ" - потому что на моих компах их просто нет.
    Так что: попробовать задать ТАКИЕ настройки - можно, но если что пойдет не так - вернуть обратно. Только не ошибитесь с числом нулей в параметре.
    Last edited by Sarek; 01-28-2015 at 04:49 PM.

  2. #2
    Senior Member pan's Avatar
    Join Date
    Aug 2011
    Posts
    642

    Default

    Вроде как с памятью сильно снизилось потребление. А вот проблемы с hud в кеше вылезли. Но об этом в другой ветке( Хотя может оно связано?)

  3. #3
    Senior Member pan's Avatar
    Join Date
    Aug 2011
    Posts
    642

    Default

    Ограничение памяти на notecaddy влияет или caddy самостоятельно свои потребности определяет? У меня пакетик жирный стоит около 700 нотсов
    Да и сами ключи, похоже переименовали в 7675... Шустрые ребята ваши проггеры
    Last edited by pan; 01-09-2013 at 06:51 PM.

  4. #4
    Holdem Manager Support Sarek's Avatar
    Join Date
    May 2010
    Location
    Eridani 40
    Posts
    22,519

    Default

    Caddy работает "в рамках ХМ", потому все настройки ХМ влияют и на Caddy. В том числе и память.
    Спросил у программистов дополнительных уточнений.

    О каких "ключах" идет речь?

  5. #5
    Senior Member pan's Avatar
    Join Date
    Aug 2011
    Posts
    642

    Default

    <Key Name="ProcessWorkingSetBase" Value="350000000" />
    <Key Name="ProcessWorkingSetHandAmount" Value="200" />
    нет таких в конфиге

  6. #6
    Holdem Manager Support Sarek's Avatar
    Join Date
    May 2010
    Location
    Eridani 40
    Posts
    22,519

    Default

    Как я писал в большом тексте выше, в конфиге по умоочанию этих строк и не предусмотрено.
    Умолчания заложены в код.
    А вот если надо параметры поменять - вот тогда вставь в конфиг сколько надо.

    И, кстати, ответ от коллег насчет Caddy
    Someone in the new ram cap beta thread said that NC note processing speed is nearly 10 times faster now.
    http://forums.holdemmanager.com/hm2-...ml#post1651731

  7. #7
    Senior Member
    Join Date
    May 2012
    Posts
    202

    Default

    а можно разъяснить момент, вот если я поставлю ограничение которое будет меньше того размера который ХМ сам отгрызал, то как это сказывается на работе самого ХМ, он ведь не от балды себе набирал оперативку... или нет?

  8. #8
    Holdem Manager Support Sarek's Avatar
    Join Date
    May 2010
    Location
    Eridani 40
    Posts
    22,519

    Default

    Есл поставишь "статическое" меньше - ХМ это просто проигнорирует. И применит умолчальные 350000000. Меньше "статика" быть не может.

  9. #9
    Senior Member
    Join Date
    May 2012
    Posts
    202

    Default

    Quote Originally Posted by Sarek View Post
    Есл поставишь "статическое" меньше - ХМ это просто проигнорирует. И применит умолчальные 350000000. Меньше "статика" быть не может.
    я имел ввиду, допустим у меня ХМ жрал 700 я поставлю ему ограничение 500, он от этого хуже работать не будет, ведь раньше он же ел для чего-то 700 ?

  10. #10
    Holdem Manager Support Sarek's Avatar
    Join Date
    May 2010
    Location
    Eridani 40
    Posts
    22,519

    Default

    Это все надо смотреть на конкретном компе. Для того и публичная Бета, чтобы вот как раз такую информацию собрать.
    У меня вот, наоборот, до этого изменения (при совсем небольшой базе, 50-100К) брал 200-250 мб, а теперь упомянутые умолчальные 350 - но работает, по крайней мере, не медленнее.

    И потом, если задать статику 500 - да ПЛЮС еще динамические байты - те же 700 и выйдут

Similar Threads

  1. Не получается скинуть регистрацию
    By 9203695@mail.ru in forum Русский форум
    Replies: 2
    Last Post: 11-21-2012, 02:05 PM
  2. Истории рук выборочно импортируются
    By cheeff in forum Русский форум
    Replies: 4
    Last Post: 10-22-2012, 02:15 PM
  3. Replies: 1
    Last Post: 08-09-2012, 11:54 AM
  4. Replies: 6
    Last Post: 08-02-2012, 06:54 PM
  5. Replies: 1
    Last Post: 10-30-2011, 01:32 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •