SystemInfo.cs 877 B

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. using Vinno.IUS.Common.Server.Network;
  3. namespace vCloud.Server
  4. {
  5. class SystemInfo
  6. {
  7. /// <summary>
  8. /// System memory info for .NET core.
  9. /// </summary>
  10. class SystemMemoryInfo : IMemoryInfo
  11. {
  12. /// <summary>
  13. /// Gets all system available memory in bytes.
  14. /// </summary>
  15. public long AvailableMemoryBytes { get; }
  16. public SystemMemoryInfo()
  17. {
  18. var gmi = GC.GetGCMemoryInfo();
  19. AvailableMemoryBytes = gmi.TotalAvailableMemoryBytes;
  20. }
  21. }
  22. /// <summary>
  23. /// Gets the system memory info.
  24. /// </summary>
  25. public static IMemoryInfo MemoryInfo { get; private set; }
  26. static SystemInfo()
  27. {
  28. MemoryInfo = new SystemMemoryInfo();
  29. }
  30. }
  31. }