Across the DMS cluster, the DMAs have varying sizes of C:\ProgramData\Skyline\DataMiner
It ranges from 1GB to 20GB and from 20,000 to 500,000 files. On some DMAs explorer struggles to open the folder because of the number of files.
Is there a maintenance job that's supposed to clean out these folders, or a script that we can schedule?
Regards
Alasdair Smith
Hi, Some general info on the cache folder, which is most likely the biggest in there:
The cache in C:\Users\windowsUserName\AppData\Local\Skyline\DataMiner\Cache (or C:\ProgramData\Skyline\DataMiner\Cache in older versions) is used by DataMiner Cube to store cached protocol info (parameter/table/page definitions). This prevents protocol information to be downloaded from the server every time.
When Cube needs protocol data, it will either load it from the cache or download it from the server if it was not there yet.
If the same machine is used to connect to multiple clusters, the Cache folder will contain multiple subfolders (one for every cluster).
Files inside the Cache folders are of different types:
- "protocol_name_version_xxxxxxxxxxxxxxxxxx.bin": Cached protocol info. Note that you might see two versions for the same protocol. One with "_ex" in the filename and one without.
- "elementprotocol_dmaid_eid_xxxxxxxxxxx.bin": cache overrides for a certain element (e.g. custom parameter names / alarm limits / ...). These should be very small files nowadays. (Prior to v9.5 these were as big as cached protocol files. Nowadays these are typically below 10KB). There should only be one such file per element.
- "protocol_index.bin" / "elementprotocol_index.bin": bookkeeping file which keeps track of which cached files exist.
There is no cleanup mechanism at the moment. Worst case, you will end up with "protocol" cache files for every protocol in the system and "elementprotocol" files for every element in the cluster. The only cleanup is at Cube connect, where outdated files get deleted (e.g. if protocol has been updated on the server since the previous Cube session)
It is safe to manually delete the entire content of the folder. After that, the content will start rebuilding when new Cube sessions are opened (based on which protocols Cube needs to display its data). Note that if you only delete the "_index.bin" file, other files will most likely linger in the folder forever, so it is best to delete all files.
Also note that the server side software is using a similarly structured cache, which is located in "C:\Skyline Dataminer\System Cache\SLNet"
Tanks Alexander. I’ve updated my answer.
I’ve just learned that cache in C:\ProgramData\… and C:\Users\… directories is used not only by Cube, but also by WebAPI clients, e.g. mobile clients or reports.
Hi Wouter, we have a scenario where the SLNet cache has grown up to 60GB and due to this we have an element in error state. What could cause the SLNet cache to grow ?
Hi Arunkrishna. I’m assuming you’re talking about the c:Skyline DataMinerSystem CacheSLNet cache. 60GB sure sounds excessive. Not sure how this would affect the state of elements though (this cache is not used for the standard element logic).
My first guess would be garbage/old files that we somehow did not or could not delete. Every protocol/version combination should not appear more than twice. Single files should not be over 500 KB.
It would be interesting to collect at least the protocol_index.bin / elementprotocol_index.bin files along with the directory listing (filenames and sizes) and add these to a task for investigation.
It is ok to clear the contents of this folder. Files will be recreated when needed.
It’s worth noting that since DataMiner 10.1.0 / 10.0.9 Cube cache is stored in C:\Users\[USERNAME]\AppData\Local\Skyline (individual cache folder per user) instead of C:\ProgramData\Skyline\DataMiner\Cache.