Cache folder (`Caches/com.github.peripheryapp`) very large (~30 GB)
Hi team,
I've recently found out about Periphery and only used it a handful of times manually to clean up our project. It's really powerful, I love it!
But when cleaning up my machine just now, I've noticed that the Periphery cache folder at ~/Library/Caches/com.github.peripheryapp has grown to around 29.8 GB on my machine, which seems unusually large for a cache directory (it's by orders of magnitude the largest for me).
Details:
- Periphery version: 3.0.2
- macOS version: 15.4.1 (24E263)
- Projects used on: 2 both ~50k lines of code
com.github.peripheryapp % du -sh ~/Library/Caches/com.github.peripheryapp/*
7.1G /Users/thisisthefoxe/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-186df8d8
8.0G /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7
6.9G /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-b0c0bbfa-5a64e3d9
6.5G /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-c41b896a-c41b896a
I tried cleaning it up but it ran into a few errors:
com.github.peripheryapp % periphery clear-cache
error: Shell command 'rm -rf /Users/***/Library/Caches/com.github.peripheryapp' returned exit status '1':
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-c41b896a-c41b896a/SourcePackages/artifacts/grpc-binary/grpc/grpc.xcframework: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-c41b896a-c41b896a/SourcePackages/artifacts/grpc-binary/grpc: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-c41b896a-c41b896a/SourcePackages/artifacts/grpc-binary: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-c41b896a-c41b896a/SourcePackages/artifacts: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-c41b896a-c41b896a/SourcePackages: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-c41b896a-c41b896a/Build/Intermediates.noindex: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-c41b896a-c41b896a/Build: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-c41b896a-c41b896a: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7/Index.noindex/DataStore/v5: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7/Index.noindex/DataStore: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7/Index.noindex: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7/SourcePackages/artifacts: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7/SourcePackages: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7/ModuleCache.noindex: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7/Build/Intermediates.noindex: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7/Build: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-1e015fb7: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-186df8d8/SourcePackages/artifacts/grpc-binary/grpcpp: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-186df8d8/SourcePackages/artifacts/grpc-binary: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-186df8d8/SourcePackages/artifacts: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-186df8d8/SourcePackages: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-186df8d8/ModuleCache.noindex: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-186df8d8-186df8d8: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-b0c0bbfa-5a64e3d9/SourcePackages/repositories/swift-syntax-463e60c9/refs: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-b0c0bbfa-5a64e3d9/SourcePackages/repositories/swift-syntax-463e60c9: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-b0c0bbfa-5a64e3d9/SourcePackages/repositories: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-b0c0bbfa-5a64e3d9/SourcePackages: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-b0c0bbfa-5a64e3d9/Build/Intermediates.noindex: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-b0c0bbfa-5a64e3d9/Build: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp/DerivedData-44b7feb4-b0c0bbfa-5a64e3d9: Directory not empty
rm: /Users/***/Library/Caches/com.github.peripheryapp: Directory not empty
Typically, I’d expect a cache folder to stay under a few hundred MB or at most a few GB, with some form of cleanup or expiration. I'm not entirely sure about how you guys handle cache at the moment but thought I'd bring it up in case anyone else has similar issues..
Thanks for your help and this awesome project!
Periphery does not automatically manage the cache folder, it's up to you to clear the cache as needed, just like with DerivedData. It's strange that the removal command failed. Are you able to remove it manually?
Periphery does not automatically manage the cache folder
Thanks for clarifying. To be fair, I do feel like this would be a nice, helpful feature, maybe like a configuration to automatically clear the cache after a while or limit the total size or something similar.
Are you able to remove it manually?
Yes.