Silo - Massive memory consumption #7460
johnds1974
started this conversation in
General
Replies: 1 comment 4 replies
-
You should analyze the memory usage to determine where the memory is being used. I imagine you'll find that the GC heap is much smaller than 1.7GB. It's typical for you to see memory which is allocated to the process but is not actively being used by .NET (i.e, the managed heap size is smaller). You can use a tool like Visual Studio, JetBrains dotMemory, https://memprofiler.com/, or Redgate. There are also command line tools like dotnet-dump and dotnet-gcdump. Have you configured the process to use ServerGC or is it using workstation GC? |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi, I'm testing the performance of a custom Silo example, which hosts a very basic Grain.
I am testing activation of 1000 unique instances of this grain to test the memory consumption of the Silo process, on Windows Server 2016. Both apps are .NET 5 console apps, the client app just runs a loop of 1000 calls to
factory.GetGrain<IMyGrain>($"MyGrain-{i}");
Pretty basic.
Silo process starts off using about 62MB RAM. After all 1000 instances are 'activated', it's using 1,760MB!
This is very concerning because my architecture is to have a Grain instance per connected client, a Digital Twin if you like, and I need to have 100,000's of these overall, and I'm trying to find the most memory and hardware efficient mechanism of hosting these processes (the Silo's) on Azure without needing to spend loads on High-workload capable VM's! :-(
Beta Was this translation helpful? Give feedback.
All reactions