[英]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.