[英]How to reduce the memory usage of my app in C#
我正在構建一個小程序來檢查資源監視器是否打開,如果是,則關閉它。
bool a = true;
while (a == true)
{
foreach (var p in Process.GetProcessesByName("perfmon"))
{
Process.Start("taskkill", "/F /IM perfmon.exe");
// "perfmon" "Taskmgr"
foreach (var t in Process.GetProcessesByName("taskkill"))
{
...
}
}
}
問題是它占用了我近 30% 的 CPU 性能,那么如何降低 CPU 使用率呢?
我也嘗試添加其他程序,如任務列表和任務管理器,但沒有奏效,你有什么想法嗎? :
bool a = true;
while (a == true)
{
System.Threading.Thread.Sleep(1000);
foreach (var p in Process.GetProcessesByName("Taskmgr"))
{
Process.Start("taskkill", "/F /IM Taskmgr.exe");
// "perfmon" "Taskmgr"
foreach (var t in Process.GetProcessesByName("taskkill"))
{
System.Threading.Thread.Sleep(60000);
Process b = Process.Start("");
}
}
foreach (var p1 in Process.GetProcessesByName("perfmon"))
{
foreach (var t1 in Process.GetProcessesByName("taskkill"))
{
System.Threading.Thread.Sleep(60000);
Process b1 = Process.Start("");
}
}
foreach (var p2 in Process.GetProcessesByName("tasklist"))
{
foreach (var t2 in Process.GetProcessesByName("taskkill"))
{
System.Threading.Thread.Sleep(60000);
Process b2 = Process.Start("");
}
}
在您的 while 循環中放置一個Sleep()
:
System.Threading.Thread.Sleep(1000);
您的程序會不斷檢查您 PC 上的所有進程。 如果這樣做,每秒只有一次,那就綽綽有余了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.