Avatar
ZuLeweiner
Člen
Avatar
ZuLeweiner:
static void Main(string[] args)
        {
            Console.CursorVisible = false;
            PerformanceCounter cpuusage = new PerformanceCounter("Processor", "% Processor Time", Process.GetCurrentProcess().ProcessName);
            while (true)
            {
                Console.SetCursorPosition(0, 0);
                Console.Write(cpuusage.NextValue() + " %   ");
                Thread.Sleep(500);
            }
        }

Chtěl bych dostat zátěž procesoru mým procesem v procentech. Tenhle kód bohužel nefunguje, netuší někdo proč? Díky.

Chyba zní:

Additional information: Instance ConsoleApplica­tion6.vshost v určené kategorii neexistuje.

Editováno 2.7.2016 10:35
 
Odpovědět 2.7.2016 10:32
Avatar
Marian Benčat
Redaktor
Avatar
Marian Benčat:

Eh.. nebudu resit proc to nefunguje,- ale celkove tento kod nedava smysl.. vis jak se pocita vytizeni procesoru? Spocte se kolik času stráví daným procesem CPU třeba za 1 vteřinu.. A ty tam máš Thread.Slee(500). pokaždý když sleepneš thread, tak se CPU z toho procesu odebere,.. ve finale ti tedy třeba tento kod ukaze , ze vytezuje cpu na 0%

 
Nahoru Odpovědět 2.7.2016 11:17
Avatar
ZuLeweiner
Člen
Avatar
Odpovídá na Marian Benčat
ZuLeweiner:

Ano, vím, jak se PerformanceCounter používá. Četl jsem třeba tento článek: https://blogs.msdn.microsoft.com/…an-byington/.
Díky za pomoc!

Editováno 2.7.2016 12:08
 
Nahoru Odpovědět 2.7.2016 12:06
Avatar
Odpovídá na ZuLeweiner
sadlomaslox25:

misto

new PerformanceCounter("Processor", "% Processor Time", Process.GetCurrentProcess().ProcessName);

pouzij

new PerformanceCounter("Process", "% Processor Time", Process.GetCurrentProcess().ProcessName);
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 2.7.2016 16:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.