由于IIS的工作流程,如何防止CPU使用100%
我的CPU用法是Windows Server 2008-R2的大部分时间,其中包括我自己的VPS,VMware,Quad Core和4GB RAM.当我打开Windows任务管理器并转到资源监视器时,我会发现100%使用是由于workerprocess.exe.我的IIS中有3个网站. 我如何弄清楚哪些网站引起使用 如何将其限制为CPU的80%使用? 可能是DDOS攻击吗? 有什么方法可以防止DDOS? 我在VPS上安装了ESET-NOD32,但在日志中没有显示任何攻击.我已经尝试搜索IIS并防止DDOS,并且只是找到了禁止IP地址的扩展程序,但是如何找到哪些IP地址正在生成流量? 该网站用ASP.NET和C#编写.我如何确定该网站上发生的事情以及哪些代码导致CPU使用? 另外,我的网站之一应该访问管理员的桌面并读取和编写一些文件.因此,我将其应用程序池 - > Identity(过程模型)更改为本地系统,我不知道它是否与CPU使用相关. 解决方案
0 2023-12-08
编程技术问答社区
是否有办法让WinRT应用程序测量自己的CPU使用率?
我正在尝试在WinRT中进行游戏图形的不同方法,如果我的测试应用程序可以测量并显示其自己的CPU使用情况,那将是很好的,因此我可以比较不同的方法(ItemScontrol vs.手动移动图像vs. directx). 在全面的.net中,我可以阅读 process.totalprocessortime 在两个已知的时间点处,然后将三角洲处理器时间除以三角洲时间(必要时根据处理器数量进行调整).如果该应用程序以全值运行,我什至可以找到 dwm.exe (因为它可以使将GUI放在屏幕上的所有繁重举重)并将其添加到我的CPU时间中.这是我在我的游戏图形测试suite 的但是在winrt中,system.diagnostics.process类不存在.如果有其他API,我不确定在哪里寻找它. 我可以打开任务管理器并将其设置为保持顶端,并在我的应用程序运行时关注它.这是不理想的,因为(a)它覆盖了我的窗户的一部分,因此可能会略微偏向结果; (b)我无法进行任何结果或记录结果的记录(例如
0 2023-12-08
编程技术问答社区
在没有TaskMgr的情况下衡量/测量CPU使用率?
我正在尝试在长期运行的过程中评估CPU利用率.我怀疑每次运行任务管理器以查看数据时,CPU利用率都会下降,因为Taskmanager的优先级更高.如果我将流程实时优先级提供,那么任务管理器就会完全锁定,而我无法使用它.我希望我的大多数CPU周期都致力于此过程,并且我想对它的利用程度有所了解.我不需要第二秒的显示器,而只需要一些快照,让我知道发生了什么.我该如何完成? 解决方案 通过C API编程,您可以使用性能计数器API. (CPU使用只是另一个计数器).您可以使用低级注册表性能计数器用于数据.或者,您可以使用 pdh api (性能数据助手API) - 这可能是您想要的.我过去曾使用过,并且PDH API易于使用. 另一个可以帮助您列举可用计数器名称的工具是Perfmon. (只需运行C:\ Windows \ System32 \ perfmon.exe)即可.它也是任务管理器的有用替代方法.它还进行日志记录和图形.您可以在多个proc机器上为每个逻辑处理器设置计数器
0 2023-12-07
编程技术问答社区
在Windows上用C++计算CPU时间
在C ++中有任何方法可以计算运行给定程序或例程 CPU时间? 需要多长时间 我使用Visual Studio 2008在Windows 7上运行. 解决方案 如果您想知道一个过程使用的CPU时间的总量,则clock>>>>>>>>>>>> rdtsc>(直接或通过编译器固有)确实是最好的选择,至少是IMO.如果您需要可移植的代码,那么您可以做的最好的是使用clock,对系统进行尽可能静止的测试,并希望获得最佳状态(但是,如果您这样做,请注意clock的分辨率是是CLOCKS_PER_SEC,它可能是1000,即使是,您的实际定时分辨率通常不会那么好 - 它可能会给您以毫秒的时间,但至少通常会在一个毫秒内提高成千上万的时间时间). 但是,由于您似乎并不介意特定于Windows的代码,因此您可以做得更好.至少如果我对您要寻找的内容的理解正确,您真正想要的可能是 GetProcessTimes ,它将(分别)告诉您该过程的内核模式和用户模式CPU使用(以及开始时间和退出时间
0 2023-12-07
编程技术问答社区
在Windows 7上以编程方式限制任何应用程序的CPU使用率?
我正在寻找一种将Windows 7上的任何应用程序限制为CPU使用量的方法.我尝试在Internet上搜索一种方法,并且看起来这很容易在Linux和Mac OS X(终端中的一个命令)上做,但我不确定如何在Windows上进行操作. 7.任何帮助将不胜感激.谢谢! Rohan 解决方案 您可以使用BES. 当询问时,它会在渴望CPU的应用程序中进行刺激. 您可以限制最大3个程序. 我用它来运行多个在线游戏客户端,并且对我来说就像魅力一样. 您应该使用Admin Privilidges和Windows XP SP3兼容模式运行它. 要调整这些设置,请右键单击可执行文件并选择选项. 这是BES -CPU限制器的链接. 其他解决方案 如果您在多核处理器上,则可以右键单击任务管理器中的过程并设置亲和力.这将定义允许哪些内核运行该过程.取消选中一半的核心,该过程将使用50%. 或看到此操作以程序为程序:与Windows 7上的开始/亲和力命令 其他解决方案
0 2023-12-07
编程技术问答社区
在Windows中设置每个进程的最大CPU使用率
有没有办法为Windows 7中的过程设置最大CPU使用? 解决方案 您可以查看" Windows Server 2008 R2中的CPU速率限制和Windows 7" - http://technet.microsoft.com/en-us/library/ff384148%28ws.10%299.aspx 但请注意 http://blogs.iis.net/thomad/thomad/archive/2010/2010/02/15/put-tput-tput-the--brakes-brakes-brakes-brakes-brakes-on-your-application -pools-cpu-rate-limits-in-windows-7.aspx .它说: 现在是缺点. CPU速率限制功能具有错误.内核握住配额对象的手柄,永不放开.这意味着,一旦将CPU速率限制设置为特定百分比,您就无法在不重新启动机器的情况下更改此百分比.我们正在努力修复它 - 不确定何时会
0 2023-12-07
编程技术问答社区
Windows 10上的Python多进程
我在Windows 7 PC和Windows 10笔记本电脑上运行了一些代码: def project(filename): **Do Something Here** if __name__ == '__main__': pool = Pool(processes=4) results = [pool.apply_async(project, args=(filename,)) for filename in filenamelist] output = [p.get() for p in results] print output 两台计算机都是双核/4个线程,因此它们都可以很好地运行4个进程.我遇到的问题是,当我在Windows 10上运行代码时,我会运行4个Python流程,但是它们使用了CPU的0%,并且不会输出任何内容,与Windows 7 PC不同,该PC将在所有4个上完全使用,线程和完美工作. 如果我不使用多处理
0 2023-12-07
编程技术问答社区
设置一个应用程序的资源限制(CPU使用率)。
我知道有点奇怪, 但是我想限制一个程序(例如winrar应用程序)资源用法. 原因: 我有一台旧的笔记本电脑,有过热问题,因此,如果我想计算一个密集任务(压缩一个> 10GB文件夹),我的笔记本电脑过热并关闭. 问题: 是否可以限制应用程序的资源/CPU使用量?例如,我可以以某种方式设置,Winrar只能使用我的CPU的50%? 我使用Windows 8.1, 但是欢迎其他操作系统的答案. 解决方案 参见有可以限制进程的CPU使用的解决方案吗?用于一般答案. winrar 本身具有命令行开关-ri,请参见 winrar 带标题的页面: Switch -RI [:] - set priority and sleep time 例如使用命令行,例如 WinRAR.exe a -ri1:100 Backup.rar * 导致使用最低任务优先级以默认设置为当前工作目录中的所有文件,并且每个读取或写入操作之间的睡眠时间为100 ms.
0 2023-12-07
编程技术问答社区
每个进程的CPU使用率
我在Google上找到了该代码,该代码计算了Win10上当前流程的使用百分比,但是我正在寻找的是每个过程中CPU使用的百分比列表. 我使用getCurrentProcess()具有当前过程的句柄.有没有办法检索每个过程的句柄?我正在处理列出运行过程并为每个人计算使用内存的代码.然后,我需要为每个人计算CPU使用量,但我在Google上没有找到任何内容. static ULARGE_INTEGER lastCPU, lastSysCPU, lastUserCPU; static int numProcessors; static HANDLE self; void init(){ SYSTEM_INFO sysInfo; FILETIME ftime, fsys, fuser; GetSystemInfo(&sysInfo); numProcessors = sysInfo.dwNumberOfProcessors;
0 2023-12-07
编程技术问答社区
在(Windows)C中监控特定进程的CPU和内存消耗。
我想监视Windows(NT体系结构-XP,Vista,Win7)中给定过程的CPU和内存消耗,每隔几秒钟才能制作图形 我已经四处搜索,但仅找到非C解决方案(Java,C#,C ++等) 我知道有一个表演班级课程,但是显然它在c. 中没有可用 谢谢 解决方案 Win32性能计数器: 开发人员受众: 性能计数器设计用于C和 C ++开发人员. 但是,如果您只想要一个工具向您展示此信息,请获取Mark Russinovich的.它可以显示每个程序统计和图形.
0 2023-12-06
编程技术问答社区
wmic cpu get LoadPercentage总是返回空值。
我使用WMIC命令获取当前的CPU利用率,该命令为: wmic cpu get LoadPercentage /value 起初它可以正常工作,但是以某种方式没有显示LoadPercentage,但总是以空的结果返回: C:\Users\Administrator>wmic cpu get LoadPercentage /value LoadPercentage= 这太奇怪了,我很确定结果与taskmgr.exe不匹配.我还尝试了没有/value的命令,结果仍然相同. 我在服务器中复制了一个大文件,而TaskManager和WMIC中的CPU用法就像: 无论taskmanager中有什么价值,wmic始终返回空值. 解决方案 我知道这是NECRO帖子的答案.但是,由于我在这里看不到任何正确的答案,解决方案是lodctr /R.此命令将重新加载计数器.必须使用资本R,较低的情况" R"返回错误.还记得管理员私​​人. 其他解决方案 使用以
0 2023-12-06
编程技术问答社区
如何限制一个进程'在Windows上的CPU使用率? (需要代码,不是一个应用程序)
有一些程序能够限制Windows中流程的CPU使用情况.例如 bes 和 threadmaster .我需要编写自己的程序,该程序与这些程序相同,但具有不同的配置功能.有人知道如何完成一个过程的CPU漏洞(代码)吗?我不是在谈论设定流程的优先级,而是如何将其限制为15%的CPU使用,即使没有其他程序竞争CPU时间. 更新:我需要能够抛弃已经运行的任何流程,并且我无法访问源代码. 解决方案 非常简化,它可以以某种方式工作: 创建一个具有合理的小等待时间(也许100ms)的定期可式可式定时器.通过调用一次GetProcessTimes来获取每个相关过程的"最后"值. 永远循环,阻止计时器. 每次醒来时: 如果 GetProcessAffinityMask返回0,请致电SetProcessAffinityMask(old_value).这意味着我们在上次迭代中暂停了这一过程,现在我们有机会再次跑步. 其他呼叫GetProcessTimes获得"当前"值 呼叫GetS
0 2023-12-06
编程技术问答社区
有没有一种方法可以看到一个进程在每个核心上使用多少CPU?
我知道,在PerfMon中,您可以看到每个核心的使用数量以及特定过程正在使用的总CPU.但是,我似乎找不到一种方法来查看一个过程使用了多少CPU被内核分解. 是否有一种内置方式可以查看此信息?有没有程序化的方式来查看此问题? (c#首选)我是在误解Windows(Vista)如何通过问此问题来处理核心用法和上下文切换的误解? 编辑:更多地澄清我想找出的内容.我的过程是否仅使用30-40%的总CPU(在Quad核心上),因为它不够多线程以利用更多或它是因为它也是I/O绑定,并且磁盘访问是瓶颈? 那么根本没有办法做到这一点? (除了确保计算机上没有其他CPU活动) 解决方案 Process Explorer至少可以向您展示给定过程的线程以及使用多少CPU.也许您可以获取线程以某种方式运行的核心/CPU,然后加起来.不过,我没有太多的Winapi经验.因此,也许处理器亲和力只能在流程上查询. 其他解决方案 您无法直接获得给定过程的每个处理器周期时间,但是您可以
0 2023-12-06
编程技术问答社区
试图在Windows PC上禁用处理器空闲状态(C状态)。
我需要防止处理器进入空闲状态(非C0 C状态).诚然,我对处理器C和P状态不太了解,所以要忍受我. 我们使用第三方供应商的相机,偶尔会提供损坏的框架.供应商已经确定,当CPU进入闲置状态时,它会干扰框架在Firewire上的传输. 为了确认这一点,我在Windows 7 PC上使用了以下代码,实际上,禁用空闲状态已解决了问题. //WIN7 const DWORD DISABLED = 1; const DWORD ENABLED = 0; GUID *scheme; PowerGetActiveScheme(NULL, &scheme); PowerWriteACValueIndex(NULL, scheme, &GUID_PROCESSOR_SETTINGS_SUBGROUP, &GUID_PROCESSOR_IDLE_DISABLE, DISABLED); PowerSetActiveScheme(NULL, scheme); 如果我运行了我的应用程序并打开Wind
0 2023-12-06
编程技术问答社区
如何在Windows中用 "任务列表 "获得一个进程的CPU使用率
我正在Java中编写一个程序,以定期显示给定过程ID的CPU和内存使用情况.我的实现调用了任务列表.通过以下命令获取内存使用情况非常简单: tasklist /fi "memusage ge 0" /fi "pid eq 2076" /v 这将返回过程ID 2076的内存使用情况,我可以将其用于我的任务.通过调用以下命令,我可以提取CPU时间. tasklist /fi "pid eq 2076" /fi "CPUTIME ge 00:00:00" /v 我的问题是,我该如何获取此过程的CPU使用情况? 我在stackoverflow上找到了我的问题的帖子,但是答案尚不清楚,我不明白在命令中输入什么来获得我需要的东西.这个问题在2008年得到了回答,2013年有人要求澄清,但是回答问题的人尚未回答. 在这里我已经发现. 解决方案 任务清单未提供您要寻找的信息.我建议使用 -counter . 对Superuser网站的答案的评论看起来您正在追求
2 2023-12-06
编程技术问答社区
在c++/windows中获取特定进程的当前cpu使用率
我想计算代码中特定应用程序的当前CPU用法.我在互联网上抬头,找到了用于Windows的PDH库.当我尝试过它时,我将获得总体CPU使用情况,而不是用于一个过程的CPU使用. PdhAddCounter(hquery, TEXT("\\Processor(_Total)\\% Processor Time"),0,&counter); 那么,我如何处理这一行以获取特定过程的CPU使用情况?我尝试用过程名称(Explorer)替换 _total .当时我获得了0个CPU的使用.但是我检查了资源监视器,一次打开许多Windows的CPU使用率最高20%.仍在日志文件中的CPU使用中显示0. 任何人可以帮我吗? 预先感谢. 解决方案 您可以检查谢谢 darshan 其他解决方案 您需要使用 GetProcessTimes ,不幸的是,它不会给您" CPU使用",它将为您提供自该过程启动以来的CPU时间量.因此,要获取CPU使用情况,您需要获取一个样本
0 2023-12-05
编程技术问答社区
为什么“while(true)”没有“Thread”。在Linux上睡眠会导致100%的CPU使用率,但在Windows上不会?
我在Java中创建了一个简单的程序: public static void main(String[] args) throws InterruptedException { while (true) ; } 如果我在Linux计算机上运行此操作,则显示100%的CPU使用情况,但不会导致操作系统显示缓慢.但是,如果我在Windows上运行完全相同的代码,则仅显示约20%的CPU使用. 我在Windows上使用Oracle JRE,在Linux上使用OpenJDK 6. 我想知道Windows的调度程序是否随机抢先线程,而Linux则不会? 解决方案 默认情况下,Linux上的top在所谓的IRIX模式下运行,而Windows任务管理器则不在.假设您有4个核心: 在IRIX模式开启的情况下,1个充分利用的核心为100%,4个核心为400%. 随着IRIX模式的关闭,1个充分利用的核心为25%,4个核心为100%.
0 2023-12-05
编程技术问答社区
为什么:可见的、控制分配的TActions会影响应用程序的CPU使用率?
如果TAction链接到诸如TToolButton(TToolBar的项目)或TActionClientItem(TActionToolBar的项目),并且该对象在运行时可见,则每当您移动鼠标时在形式(除工具栏以外的任何地方)中,CPU上似乎在CPU上取决于可见策略的数量,这与移动鼠标相比,当鼠标上的一个链接的项目都在任何一个上都无法看到以前提到的条. 很明显,额外的额外负载的明显百分比完全基于您正在运行的钻机,但我注意到的是,当您使用应用程序时,实际差异可能很大: 很多可见的链接项目 一种自定义组件已经执行了次要事件的次要计算,例如更改控件的外观 自定义视觉样式 所以问题是为什么可见的项目链接的taction组件会影响鼠标运动的处理? 解决方案 操作的设计基于动作的空闲时间更新.当您移动鼠标时,该应用程序会收到大量排队的消息.每次排空队列时,应用程序都被视为空闲,并且所有操作都会更新.这可能会导致高CPU利用率. 这个问题在VCL中是众所周知的和认可
0 2023-12-05
编程技术问答社区
用C++检索Windows中的CPU负载百分比总数
我一直在研究此工具,以快速记录一些系统统计信息,例如内存信息和 CPU负载百分比(如任务管理器中显示的内容).我似乎有记忆和记录部分的照顾,但是弄清楚CPU的百分比非常困难:(我找到了很多有关检查CPU信息的方法,但是在摘要之外,几乎没有代码示例我发现编译或评论得很好,所以我很难做到这一点.能够将碎片放在一起. 也许我错过了这一点,但是似乎是一种流行的方法来弄清楚这一点是在每次支票之间使用至少200ms的CPU查询CPU,以帮助避免出现问题的问题……解决方案?嗯是的!我该怎么做? :(我在语法上受到挑战d: 我将共享我的源代码,以便您可以看到到目前为止我一直在做什么.这一切都仅在一个.cpp中,我使用 vs2013 Express for C ++ ,仅适用于 Windows 用于多核CPU. 提前警告:对代码中的所有注释,我感到非常抱歉:x,如果您复制此代码并运行它,它将生成一个名为log.csv 的.CSV文件 //included libraries/func
0 2023-12-05
编程技术问答社区
编写代码使CPU使用率显示为正弦波
用您喜欢的语言写代码 让Windows任务管理器代表 CPU使用历史记录中的正弦波. 这是来自中国微软的技术采访测验. 我认为这是一个很好的问题.尤其是值得知道候选人如何理解和找出解决方案的值得的. 编辑:如果可能涉及多核(CPU)案例,这是一个很好的点. 解决方案 Windows中的线程时间切片为40ms,IIRC,因此可以用作100%标记的好数字. unsigned const TIME_SLICE = 40; float const PI = 3.14159265358979323846f; while(true) { for(unsigned x=0; x!=360; ++x) { float t = sin(static_cast(x)/180*PI)*0.5f + 0.5f; DWORD busy_time = static_cast(t*TIME_SLICE);
0 2023-12-05
编程技术问答社区