Exemple #1
0
        static void Main(string[] args)
        {
            var processes = Process.GetProcesses();

            for (int i = 0; i < 10; i++)
            {
                foreach (var p in processes)
                {
                    currentProcess = p;

                    var counter = ProcessCpuCounter.GetPerfCounterForProcessId(p.Id);
                    if (counter == null)
                    {
                        continue;
                    }
                    else
                    {
                        counter.NextValue();
                    }

                    Thread.Sleep(200);

                    int memsize           = 0; // memsize in Megabyte
                    PerformanceCounter PC = new PerformanceCounter();
                    PC.CategoryName = "Process";
                    PC.CounterName  = "Working Set - Private";
                    PC.InstanceName = p.ProcessName;
                    memsize         = Convert.ToInt32(PC.NextValue()) / (int)(1024);
                    PC.Close();
                    PC.Dispose();

                    var cpu = counter.NextValue() / (float)Environment.ProcessorCount;
                    Console.WriteLine(counter.InstanceName + " -  Cpu : % " + cpu + "-  Ram : " + memsize);


                    if (cpu >= 5)
                    {
                        aTimer.Elapsed += OnTimedEvent;
                        aTimer.Start();
                        Console.WriteLine("Cpu Value For " + currentProcess.ProcessName);
                        ProcessLongAlive(currentProcess.ProcessName);
                        break;
                    }
                }
            }

            Console.WriteLine("Any key to exit...");
            Console.Read();
        }
Exemple #2
0
        public static void ProcessLongAlive(string processName)
        {
            var processes = Process.GetProcessesByName(processName);

            for (int i = 0; i < 10; i++)
            {
                foreach (var p in processes)
                {
                    var counter = ProcessCpuCounter.GetPerfCounterForProcessId(p.Id);
                    if (counter == null)
                    {
                        continue;
                    }
                    else
                    {
                        counter.NextValue();
                    }

                    Thread.Sleep(200);

                    int memsize           = 0; // memsize in Megabyte
                    PerformanceCounter PC = new PerformanceCounter();
                    PC.CategoryName = "Process";
                    PC.CounterName  = "Working Set - Private";
                    PC.InstanceName = p.ProcessName;
                    memsize         = Convert.ToInt32(PC.NextValue()) / (int)(1024);
                    PC.Close();
                    PC.Dispose();

                    var cpu = counter.NextValue() / (float)Environment.ProcessorCount;
                    Console.WriteLine(counter.InstanceName + " -  Cpu : % " + cpu + "-  Ram : " + memsize);

                    if (count > 1)
                    {
                        StopProcess();
                    }
                }
            }
        }