{"id":6031,"date":"2022-02-21T12:29:15","date_gmt":"2022-02-21T11:29:15","guid":{"rendered":"https:\/\/solidt.eu\/site\/?p=6031"},"modified":"2022-07-25T08:30:36","modified_gmt":"2022-07-25T07:30:36","slug":"c-net-get-memory-cpu-info","status":"publish","type":"post","link":"https:\/\/solidt.eu\/site\/c-net-get-memory-cpu-info\/","title":{"rendered":"C# .NET Get Memory + CPU info"},"content":{"rendered":"\n<p><a href=\"https:\/\/stackoverflow.com\/a\/278088\">https:\/\/stackoverflow.com\/a\/278088<\/a><\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"csharp\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">var me = Process.GetCurrentProcess();\nConsole.WriteLine(\"Working set {0} bytes\", me.WorkingSet64);\nConsole.WriteLine(\"Total CPU time {0} sec\", me.TotalProcessorTime.TotalSeconds);\n\nforeach (var aProc in Process.GetProcesses())\n    Console.WriteLine(\"Proc {0,30}  CPU {1,-20:n} msec\", aProc.ProcessName, cpu.TotalMilliseconds);\n            \nforeach (var aProc in Process.GetProcesses())\n    totalsize += aProc.WorkingSet64\/1024.0;\n    \n\/\/ Via garbage collector:\nvar gcMemoryInfo = GC.GetGCMemoryInfo();\ngcMemoryInfo.TotalAvailableMemoryBytes;\n\nmi.TotalAvailableMemoryBytes \/ 1024 \/1024\n32500 \/\/ MB\nmi.TotalCommittedBytes \/ 1024 \/1024\n29 \/\/ MB\nmi.MemoryLoadBytes \/ 1024 \/1024\n18525 \/\/ MB\nmi.HeapSizeBytes \/ 1024 \/1024\n13 \/\/ MB\n\n    \n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/    \n\/\/ PerformanceCounters\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\n\/\/ Initialize like this:\n\nPerformanceCounter cpuCounter;\nPerformanceCounter ramCounter;\n\ncpuCounter = new PerformanceCounter(\"Processor\", \"% Processor Time\", \"_Total\");\nramCounter = new PerformanceCounter(\"Memory\", \"Available MBytes\");\n\/\/ Consume like this:\npublic string getCurrentCpuUsage(){\n    return cpuCounter.NextValue()+\"%\";\n}\n\npublic string getAvailableRAM(){\n    return ramCounter.NextValue()+\"MB\";\n} <\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/stackoverflow.com\/a\/278088<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[6,4,1],"tags":[],"class_list":["post-6031","post","type-post","status-publish","format-standard","hentry","category-dotnet","category-programming","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/6031","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/comments?post=6031"}],"version-history":[{"count":5,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/6031\/revisions"}],"predecessor-version":[{"id":6036,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/6031\/revisions\/6036"}],"wp:attachment":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/media?parent=6031"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/categories?post=6031"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/tags?post=6031"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}