草庐IT

cpu-usage

全部标签

python - 在 Windows 上测量每个线程的 CPU 时间

我正在为Windows开发一个长时间运行的多线程Python应用程序,我希望进程知道它的每个线程所占用的CPU时间。我可以用os.times()得到整个过程的总时间但我需要知道每个线程的时间。我知道有外部工具,例如SysinternalsProcessExplorer,但我的程序本身需要有这些信息。如果我在Linux上,我会查看/proc文件系统,asdescribedhere.如果我正在编写C代码,我会使用GetThreadTimes调用,asdescribedhere.那么我如何使用Python在Windows上完成此操作? 最佳答案

windows - 是否需要在 CPU 上安排等待 Windows 事件的线程从 sleep 中唤醒?

最好用一个例子来描述我的问题:我们通过CreateEvent创建一个Windows事件句柄,manualReset为FALSE。我们创建了4个线程。确保它们都开始运行并等待WaitForSingleObject的上述事件。在主线程中,在for循环中,我们通过SetEvent向该事件发出4次信号。比如:for(inti=0;i我的问题是,我们可以说所有这4个线程一定会从等待此事件中唤醒吗?根据我对WindowsEvent的理解,答案是肯定的。因为当事件被设置时,总是有一个线程在等待它。但是,我在MSDN上读到“设置已设置的事件无效”。由于等待线程可能没有机会在循环中主线程设置事件时运行。

windows - Explorer.exe CPU 使用率随非 Explorer 进程增加?

我有一个在Windows资源管理器中运行的程序。通常,如果没有其他程序在运行,它将使用2-3%的CPU(因此explorer.exe将在资源监视器中显示2-3%)。当我的程序未运行而另一个不会增加explorer.exeCPU使用率的程序正在运行时(例如FireFox),explorer.exeCPU使用率可以忽略不计。但是,当我的程序和另一个程序(如上所述)同时运行时,explorer.exe的CPU使用率将增加到8-10%。我注意到在Windows资源管理器中运行的其他程序也会发生同样的事情。有人知道为什么会这样吗?它是Windows固有的东西还是有其他程序可能导致这种情况?P.S

C 在 linux 和 windows 上获取 cpu 使用率

我在linux和windows上使用以下程序来获取当前进程的cpu利用率。Linux:intmain(){intret;char*buf;inti=0;intwho=RUSAGE_SELF;structrusageusage;structrusage*p=&usage;ret=getrusage(who,p);printf("usertimeused:%16lf%16lf\n",p->ru_utime.tv_sec,p->ru_utime.tv_usec);printf("systemtimeused:%16lf%16lf\n",p->ru_stime.tv_sec,p->ru_sti

Java 进程占用 CPU 100%

我们有一个在各种环境中正常运行的应用程序。然而,在一个客户端站点,当应用程序调用子进程(在本例中为CODEFIND.EXF-请参阅随附显示)时,它会将处理器锁定在100%。我在解释显示方面需要帮助。虽然显示似乎是父进程正在消耗所有资源,但实际上是父进程调用了子进程吗?我怎么能说这个?谢谢,埃利奥特 最佳答案 显示表明罪魁祸首是java.exe。这个指示是正确的。子进程不消耗CPU。 关于Java进程占用CPU100%,我们在StackOverflow上找到一个类似的问题:

c++ - 使用 GetProcessTimes 在 Windows 上测量 CPU 时间

我想测量CPU一些功能的时间。我知道如何使用GetProcessTimes,但我在使用某种“重新启动”实现它时遇到了问题:通常,我会这样做:#include"stdafx.h"#include#includedoublecputimer(){FILETIMEcreateTime;FILETIMEexitTime;FILETIMEkernelTime;FILETIMEuserTime;if(GetProcessTimes(GetCurrentProcess(),&createTime,&exitTime,&kernelTime,&userTime)!=-1){SYSTEMTIMEuser

c++ - 如果在 Intel CPU 上关闭 "SpeedStep Technology",RDTSC() 是否准确?

寻找最准确的时间戳。看来CPU周期计数器可以提供:使用unsigned__int64__rdtsc();如果我能够关闭动态CPU速度选项,Intel芯片上的“SpeedStepTechnology”(我假设来自BIOS?):rdtsc()能否准确衡量两个事件之间耗时?事件?CPU时钟速度是多少?真的是广告上说的吗CPU速度(即2.4GHzCPU-使用每秒2,400,000,000分频CPU时钟计数值来获取实际时间)? 最佳答案 Willrdtsc()beanaccuratemeasureofelapsedtimebetweentwo

windows - 用于监视某个程序的 CPU 使用率并对其使用react的批处理脚本

我不知道以前是否有人问过这个问题,但这里是:有没有办法编写一个批处理脚本,使其持续监控某个可执行程序的cpu使用率百分比,直到cpu达到0%?假设我们有一个名为xyz.exe的程序,根据任务管理器,该程序当前使用了大约2-4%的cpu。一段时间后,cpu达到0%。我试过如下使用tasklist命令,但无法针对cpu目的对其进行调整:@echooff:looptasklist|"xyz"iferrorlevel1(echoxyzstillrunninggotoloop)else(gotonext):nextxyzcompleted 最佳答案

c++ - 基于 Windows 的 C++ 应用程序随着时间的推移消耗更多的 CPU

我们在Windows上有一个基于C++的多线程应用程序,它使用WinPCAP库实时捕获网络数据包,然后处理这些数据包以监控网络。此应用程序旨在24x7全天候运行。我们的应用程序很容易消耗7-8GB的RAM。我们正在观察的问题:假设应用程序正在监控100Mbps的网络流量并消耗60%的CPU。我们观察到,当应用程序持续运行较长时间(如一两天)时,应用程序的CPU消耗会增加到70-80%,即使它仍在处理100Mbps的流量(做同样的工作量).我们尝试使用ProcessExplorer将此问题调试到线程级别,并注意到随着时间的推移,数据包捕获线程开始消耗更多的CPU。即使重新启动应用程序后,

c++ - 如何确定每个内核的 C++ CPU 消耗

如何在C++中获取每个内核的CPU负载(具有超线程的四核CPU)?我正在寻找类似任务管理器中%的结果。我现在正在尝试这样做:问题是代码识别9个内核(我有8个:/)#define_WIN32_DCOM#include#include#include#pragmacomment(lib,"wbemuuid.lib")usingnamespacestd;boolgetCpuLoadInfo(){HRESULThres;//Step1:--------------------------------------------------//InitializeCOM.--------------