How to increase SCCM client cache size

24008

How to increase SCCM client cache size when you have large applications to deploy during an OSD, it will fail because the size of the SCCM Client Cache is not big enough to cache the application installation files. Software updates also use the client cache, but software updates are not restricted by the configured cache size and will always attempt to download to the cache. You can configure the client cache settings when you install the Configuration Manager client manually, when you use client push installation, or after the client is installed. When you distribute software, you can set the Advanced Client to download package source files from a distribution point to a cache on the Advanced Client computer before the program runs. When the program runs, it uses the source files in the cache instead of the source files on the distribution point. By default, the SCCM 2012 Client Cache is set to 5120MB and if you do not set this property while installing SCCM Client, the folder defaults to a maximum size of 5120 MB. The lowest value you can specify is 1 MB.

Increase SCCM client cache size Snap1

You could change the client cache size on a single machine by getting into Control Panel > Configuration Manager Client Properties > Cache > click on Configure Settings and change the value of cache size and click OK.

VB script to modify SCCM client cache size

On Error Resume Next
Dim UIResManager
Dim Cache
Dim CacheSize
CacheSize=20000
Set UIResManager = createobject(“UIResource.UIResourceMgr”)
Set Cache=UIResManager.GetCacheInfo()
Cache.TotalSize=CacheSize

Power shell script to increase SCCM client cache size

$Cache = Get-WmiObject -Namespace ‘ROOTCCMSoftMgmtAgent’ -Class CacheConfig
$Cache.Size = ‘10240’
$Cache.Put()
Restart-Service -Name CcmExec

DOWNLOAD VB SCRIPT

DOWNLOAD PS SCRIPT

You could download the VB and PowerShell script by clicking on above links.

If you want to change SCCM client cache size on multiple computers then you could deploy the script to a device collection. Here are the steps to change the client cache size.

Launch the Configuration Manger console, click on Software Library and click on Application Management. Right click on Packages and click on Create Package.

increase SCCM client cache size

Provide the Name, Description for this package. You need to specify the location where you have stored the script files so your Source folder should be the path where the script is located. Click Next.

increase SCCM client cache size

We will be using the VB script to the change the cache size, provide details for the standard program as shown in the below screenshot. cc.vbs is the name of the script file. Click Next and complete the wizard.

increase SCCM client cache size

Before you deploy the package you need to distribute the package to the distribution point, so right click on the package and click Distribute Content and distribute the package to the desired DP. The next step is to deploy the package to a device collection, right click the package and click on Deploy.

increase SCCM client cache size

Choose the collection for which you want to deploy this package and click Next.

increase SCCM client cache size

Set the Purpose to Available or Required. In this example I am setting it to Available. Click Next and complete the remaining steps by clicking Next.

increase SCCM client cache size

On the client machine open the Software Center and select the package and click Install Selected.

increase SCCM client cache size

Open the execmgr.log file on the client machine to see more details on the program execution.

increase SCCM client cache size

After the script is run you can see the client cache size is increased.

increase SCCM client cache size

  • Steve

    What would having a client cache set to Zero do? Mine is set to Zero and I can’t change it, but I notice a lot of APP’s fail.

    • @Steve – As mentioned in the post “The lowest value you can specify is 1 MB”. If you have set it to 0 then app’s won’t get installed. Why is that you cannot change the cache size to another value ?

      • Steve

        The option is grayed out. I tried running your script on my local machine (and I do have admin rights) but it did not make the change.Also no errors. It looks like it runs just doesn’t do anything.

  • Codi Campbell

    Thanks for this. I had used a VBscript a while ago to do this, but it required a lot of digging on forums, etc. I found that I had made a huge error in storing my programs for deployment and it increased the sizing of many programs/deployments a 1000x fold. Now that I fixed it, I have removed the script and everything is solid!

  • Melvin Ng

    Is possible to have a script to auto clear the sccm cache when a certain application is installed??

    • I doubt if that is possible. When you deploy a package, you have an option to deploy/run another program first.

  • revV

    Hi my friend, i have a issue with my environment. I’m deploying an application to my entire ambient, around 2k machines, it’s not a big application, but, the deployment have been taking weeks and isn’t over yet. I don’t know what to do, are you able to help me?