none
SCCM2012R2. Client. Cache RRS feed

  • Вопрос

  • Доброго времени суток, коллеги!

    Шалю с деплоем софта на тестовую машину. В какой-то момент Software Center мне рисует, что как-то мало ему кэша. Хотя приложение, на которое так пишет, занимает существенно меньше 5ГБ.

    Детальный анализ показал, что да, кэш занят почти полностью. Но его содержимое, вообще говоря, не особо нужно для работы - то есть всё, что там присутствует уже установлено. В моём понимании, система должна в этом случае старые данные удалять. Ан нет. Не удаляет.

    Старина Гугл на запрос "что за поведение, не достойное советского офицера???" слегка подумав честно выдал так:

    "...Well, content remains in the cache for at least 24 hours, after that time it’s available to be overwritten by new content if it requires the space..." (ConfigMgr 2012 Client Cache – Part 1: Overview)

    Собственно вопрос: эти "24 hours" как-то настраиваются, или искать костыли?

    Благодарствую!

    7 октября 2015 г. 13:17

Ответы

  • Всякие обходные пути безусловно имеются. Но меня интересует именно можно ли как-то эти самые 24 часа настраивать или нет

    ИМХО лучше всего настроить размер кэша на 3-4 ГБ больше чем размер самого большого распространяемого пакета. Насколько я помню очистка в 24 часовой интервал происходит если размер кэша подходит к лимиту. 

    Если хотите изменить, можно попробовать сделать это через локальные политики это должно работать и для CM12 (не обещаю, но должно поддерживаться)

    #pragma namespace("\\\\.\\root\\ccm\\policy\\machine\\requestedconfig") [CCM_Policy_PartialPolicy(true)]
    instance of CCM_SoftwareDistributionClientConfig
    {
    SiteSettingsKey = 1;
    // Override only this property,
    // all others come from the Site/Management Point
    PolicySource = "Local";
    // 5 min, default 86400 - one day
    [CCM_Policy_Override(true)] CacheTombstoneContentMinDuration = 300;
    };
    


    Примечание:Сообщения предоставляются "КАК ЕСТЬ" без каких-либо гарантий,выраженных или подразумеваемых | Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied

    9 октября 2015 г. 10:53
    Отвечающий
  • вот та тулза умеет изменять на уровне всей коллекции. )

    клик по коллекции, change cache size, увииии. ))) как то так и происходит.

    9 октября 2015 г. 11:28
    Модератор
  • Как вариант можно поюзать пакедж задеплоенный принудительно с такой cmd-хой:

    %windir%\System32\WindowsPowershell\v1.0\powershell.exe -Command "(New-Object -COM UIResource.UIResourceMgr).GetCacheInfo().TotalSize = 10240"

    тут делается 10Гб, можно поменять на свое значение

    Оффтоп: как юзать PoSH-скрипты которые хотят повышения привелегий? Bypass как будто не умеет это.. или?..

    9 октября 2015 г. 13:15

Все ответы

  • добрый день.

    насколько мне известно, время не регулируется. Со стороны sccm вы можете регулировать размер в мб, размер в % и т.д. Подробнее можно почитать здесь https://technet.microsoft.com/en-us/library/gg699356.aspx Поиск по словам - DISABLECACHEOPT, SMSCACHEDIR, SMSCACHEFLAGS, SMSCACHESIZE

    Руками папку чистить не рекомендуется, из доступного можно использовать Now Micro Right Click Tools или скрипты. Там есть и увеличение (enlarge your .... ) и очистка на клиенте cache папки. 

    Другой вариант, это использовать в пакетах "run from distribution point" без загрузки в кэш клиента.

    7 октября 2015 г. 21:07
    Модератор
  • Поподробнее про "папку чистить не рекомендуется" можно? Потому как я наивно полагаю, что если в свойствах клиента есть кнопка "Очистить кэш", то её вполне себе можно использовать )

    Всякие обходные пути безусловно имеются. Но меня интересует именно можно ли как-то эти самые 24 часа настраивать или нет

    8 октября 2015 г. 6:10
  • а кто нить скажет как изменить размер кэша на всех клиентах без скрипта? Есть такая настройка на сайте? Или только указывать параметр при установке клиента???
    8 октября 2015 г. 13:05
  • на сайте sccm нет.

    официально, как указано в документации, через SMSCACHESIZE.

    в остальном через community тулзы.

    8 октября 2015 г. 13:55
    Модератор
  • Мой коллега просто настроил Compliance на основе скриптов Powershell:

    проверка

    $sms=gwmi -namespace root\ccm\softmgmtagent -class cacheconfig
    $sms.size

    установка

    $sms=gwmi -namespace root\ccm\softmgmtagent -class cacheconfig
    $sms.size = 10240
    $sms.put()
    Restart-Service -Name CcmExec


    Сазонов Илья

    https://isazonov.wordpress.com/

    8 октября 2015 г. 14:02
    Модератор
  • А более подробно как сделать через  Compliance не могли бы Вы рассказать? 

    Я практически ничего про это не знаю но очень хочется начать использовать!

    9 октября 2015 г. 5:22
  • создаете configuration item, выбираете windows, в правилах New, далее type - script, в discovery script выбираете powershell и верхний скрипт, в remediation нижний, далее создаете Configuration Baselines и туда добавляете созданный configuration item и деплой на коллекцию. Профит.
    9 октября 2015 г. 7:34
    Модератор
  • как-то сложно, ИМХО проще Right Click Tool использовать

    Примечание:Сообщения предоставляются "КАК ЕСТЬ" без каких-либо гарантий,выраженных или подразумеваемых | Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied

    9 октября 2015 г. 9:58
    Отвечающий
  • Это же только для консоли. Как он установит размер кэша для большого числа компьютеров? Для новых?

    Сазонов Илья

    https://isazonov.wordpress.com/

    9 октября 2015 г. 10:07
    Модератор
  • Я может не понял вопрос, но как-то так и установит:


    Примечание:Сообщения предоставляются "КАК ЕСТЬ" без каких-либо гарантий,выраженных или подразумеваемых | Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied

    9 октября 2015 г. 10:34
    Отвечающий
  • Всякие обходные пути безусловно имеются. Но меня интересует именно можно ли как-то эти самые 24 часа настраивать или нет

    ИМХО лучше всего настроить размер кэша на 3-4 ГБ больше чем размер самого большого распространяемого пакета. Насколько я помню очистка в 24 часовой интервал происходит если размер кэша подходит к лимиту. 

    Если хотите изменить, можно попробовать сделать это через локальные политики это должно работать и для CM12 (не обещаю, но должно поддерживаться)

    #pragma namespace("\\\\.\\root\\ccm\\policy\\machine\\requestedconfig") [CCM_Policy_PartialPolicy(true)]
    instance of CCM_SoftwareDistributionClientConfig
    {
    SiteSettingsKey = 1;
    // Override only this property,
    // all others come from the Site/Management Point
    PolicySource = "Local";
    // 5 min, default 86400 - one day
    [CCM_Policy_Override(true)] CacheTombstoneContentMinDuration = 300;
    };
    


    Примечание:Сообщения предоставляются "КАК ЕСТЬ" без каких-либо гарантий,выраженных или подразумеваемых | Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied

    9 октября 2015 г. 10:53
    Отвечающий
  • вот та тулза умеет изменять на уровне всей коллекции. )

    клик по коллекции, change cache size, увииии. ))) как то так и происходит.

    9 октября 2015 г. 11:28
    Модератор
  • Ай спасибо Вам добрый человек!

    Я примерно так и думал.

    а если я запущу через Right Click Tool  то для машин которые offline размер поменяется когда они опять будт online???

    9 октября 2015 г. 11:31
  • нет, надо будет прогонять коллекцию еще раз. Меняет она вот здесь и сейчас, подключаясь прямо к wmi машины.
    9 октября 2015 г. 11:57
    Модератор
  • Как вариант можно поюзать пакедж задеплоенный принудительно с такой cmd-хой:

    %windir%\System32\WindowsPowershell\v1.0\powershell.exe -Command "(New-Object -COM UIResource.UIResourceMgr).GetCacheInfo().TotalSize = 10240"

    тут делается 10Гб, можно поменять на свое значение

    Оффтоп: как юзать PoSH-скрипты которые хотят повышения привелегий? Bypass как будто не умеет это.. или?..

    9 октября 2015 г. 13:15