示例#1
0
        public void Check()
        {
            if (!_hasStarted)
            {
                throw new InvalidOperationException("MemoryMonitor'ing was not started!");
            }

            var mem = MonitoringUtils.ReadProcessMemory();

            if (Min.WorkingSet > mem.WorkingSet)
            {
                Min.WorkingSet = mem.WorkingSet;
            }
            if (Min.PrivateMemorySize > mem.PrivateMemorySize)
            {
                Min.PrivateMemorySize = mem.PrivateMemorySize;
            }
            if (Min.GcTotalMemory > mem.GcTotalMemory)
            {
                Min.GcTotalMemory = mem.GcTotalMemory;
            }

            if (Max.WorkingSet < mem.WorkingSet)
            {
                Max.WorkingSet = mem.WorkingSet;
            }
            if (Max.PrivateMemorySize < mem.PrivateMemorySize)
            {
                Max.PrivateMemorySize = mem.PrivateMemorySize;
            }
            if (Max.GcTotalMemory < mem.GcTotalMemory)
            {
                Max.GcTotalMemory = mem.GcTotalMemory;
            }
        }
示例#2
0
        public void Check()
        {
            if (!_hasStarted)
            {
                throw new InvalidOperationException("CpuMonitor'ing was not started!");
            }

            var curTemps = MonitoringUtils.ReadCpuTemp().ToArray();

            for (var i = 0; i < Math.Min(Math.Min(Min.Length, Max.Length), curTemps.Length); i++)
            {
                var min = Min[i];
                var max = Max[i];
                var cur = curTemps[i];

                if (min.Current > cur.Current)
                {
                    min.Current = cur.Current;
                }
                if (max.Current < cur.Current)
                {
                    max.Current = cur.Current;
                }
            }
        }
示例#3
0
        public void Start()
        {
            if (_hasStarted)
            {
                throw new InvalidOperationException("MemoryMonitor'ing has been already started!");
            }

            _hasStarted = true;

            Min = MonitoringUtils.ReadProcessMemory();
            Max = Min.Clone();
        }
示例#4
0
        public void Start()
        {
            if (_hasStarted)
            {
                throw new InvalidOperationException("CpuMonitor'ing has been already started!");
            }

            _hasStarted = true;

            Min = MonitoringUtils.ReadCpuTemp().ToArray();
            Max = Min.Select(readnings => readnings.Clone()).ToArray();
        }