aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Monitoring/BaseStatsCollector.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework/Monitoring/BaseStatsCollector.cs')
-rw-r--r--OpenSim/Framework/Monitoring/BaseStatsCollector.cs34
1 files changed, 23 insertions, 11 deletions
diff --git a/OpenSim/Framework/Monitoring/BaseStatsCollector.cs b/OpenSim/Framework/Monitoring/BaseStatsCollector.cs
index 57a63ef..9ee0876 100644
--- a/OpenSim/Framework/Monitoring/BaseStatsCollector.cs
+++ b/OpenSim/Framework/Monitoring/BaseStatsCollector.cs
@@ -43,18 +43,30 @@ namespace OpenSim.Framework.Monitoring
43 StringBuilder sb = new StringBuilder(Environment.NewLine); 43 StringBuilder sb = new StringBuilder(Environment.NewLine);
44 sb.Append("MEMORY STATISTICS"); 44 sb.Append("MEMORY STATISTICS");
45 sb.Append(Environment.NewLine); 45 sb.Append(Environment.NewLine);
46 sb.Append(
47 string.Format(
48 "Allocated to OpenSim objects: {0} MB\n",
49 Math.Round(GC.GetTotalMemory(false) / 1024.0 / 1024.0)));
46 50
47 sb.AppendFormat( 51 Process myprocess = Process.GetCurrentProcess();
48 "Allocated to OpenSim objects: {0} MB\n", 52 if (!myprocess.HasExited)
49 Math.Round(GC.GetTotalMemory(false) / 1024.0 / 1024.0)); 53 {
50 54 myprocess.Refresh();
51 sb.AppendFormat( 55 sb.Append(
52 "OpenSim object memory churn : {0} MB/s\n", 56 string.Format(
53 Math.Round((MemoryWatchdog.AverageMemoryChurn * 1000) / 1024.0 / 1024, 3)); 57 "Process memory: Physical {0} MB \t Paged {1} MB \t Virtual {2} MB\n",
54 58 Math.Round(Process.GetCurrentProcess().WorkingSet64 / 1024.0 / 1024.0),
55 sb.AppendFormat( 59 Math.Round(Process.GetCurrentProcess().PagedMemorySize64 / 1024.0 / 1024.0),
56 "Process memory : {0} MB\n", 60 Math.Round(Process.GetCurrentProcess().VirtualMemorySize64 / 1024.0 / 1024.0)));
57 Math.Round(Process.GetCurrentProcess().WorkingSet64 / 1024.0 / 1024.0)); 61 sb.Append(
62 string.Format(
63 "Peak process memory: Physical {0} MB \t Paged {1} MB \t Virtual {2} MB\n",
64 Math.Round(Process.GetCurrentProcess().PeakWorkingSet64 / 1024.0 / 1024.0),
65 Math.Round(Process.GetCurrentProcess().PeakPagedMemorySize64 / 1024.0 / 1024.0),
66 Math.Round(Process.GetCurrentProcess().PeakVirtualMemorySize64 / 1024.0 / 1024.0)));
67 }
68 else
69 sb.Append("Process reported as Exited \n");
58 70
59 return sb.ToString(); 71 return sb.ToString();
60 } 72 }