diff --git a/src/Tgstation.Server.Host/Components/Session/SessionController.cs b/src/Tgstation.Server.Host/Components/Session/SessionController.cs index 6880ed7f6d..754b672b7d 100644 --- a/src/Tgstation.Server.Host/Components/Session/SessionController.cs +++ b/src/Tgstation.Server.Host/Components/Session/SessionController.cs @@ -122,7 +122,7 @@ namespace Tgstation.Server.Host.Components.Session public FifoSemaphore TopicSendSemaphore { get; } /// - public long MemoryUsage => process.MemoryUsage; + public long? MemoryUsage => process.MemoryUsage; /// /// The for the . diff --git a/src/Tgstation.Server.Host/System/IProcessBase.cs b/src/Tgstation.Server.Host/System/IProcessBase.cs index f34d5e6597..6ae88dce50 100644 --- a/src/Tgstation.Server.Host/System/IProcessBase.cs +++ b/src/Tgstation.Server.Host/System/IProcessBase.cs @@ -16,7 +16,7 @@ namespace Tgstation.Server.Host.System /// /// Gets the process' memory usage in bytes. /// - long MemoryUsage { get; } + long? MemoryUsage { get; } /// /// Set's the owned to a non-normal value. diff --git a/src/Tgstation.Server.Host/System/Process.cs b/src/Tgstation.Server.Host/System/Process.cs index 64c92bf89b..13a1a278f5 100644 --- a/src/Tgstation.Server.Host/System/Process.cs +++ b/src/Tgstation.Server.Host/System/Process.cs @@ -23,7 +23,21 @@ namespace Tgstation.Server.Host.System public Task Lifetime { get; } /// - public long MemoryUsage => handle.VirtualMemorySize64; + public long? MemoryUsage + { + get + { + try + { + return handle.VirtualMemorySize64; + } + catch (Exception ex) + { + logger.LogWarning(ex, "Failed to get PID {pid}'s memory usage!", Id); + return null; + } + } + } /// /// The for the .