草庐IT

可用cpu

全部标签

c# - 类似于任务管理器获取Windows中空闲进程的总CPU时间

我正在开发一个大型应用程序,想了解两个时间点之间的CPU负载情况。我不仅对自己的过程感兴趣,而且对所有过程都感兴趣。我的想法是获取两个时间段之间空闲进程的总CPU时间。然后将该值与实时差异进行比较。然后可以计算花费在空闲进程上的平均CPU时间百分比,以及实际进程上花费的平均CPU时间百分比。例如:实时样本:2012/07/3013:56:1和2012/07/3013:56:21空闲进程总CPU时间样本:56:23:10和56:23:15实时差异:20s空闲进程总CPU时间的差异:5秒空闲进程中的平均CPU时间百分比:25%实际进程中的平均CPU时间百分比:75%为了尽可能减少对性能的影

创建 3 个线程并使用 WSAWaitForMultipleEvents() 和 WSAEnumNetworkEvents() 时 CPU 使用率 100%

我创建了3个线程,每个线程都有一个套接字。在每个线程中,套接字被设置为“事件驱动”,并且每当数据可供读取时,就会生成一个事件。该代码工作正常,但它占用CPU使用率高达100%,这肯定是不可取的。我想我犯了一些错误。下面是我的代码。请帮助我找出导致100%CPU使用率的错误。代码:DWORDWINAPIThreadProc(LPVOIDparam){intthreadNumber=(int)param;intPORT=8888+threadNumber;//sothateachthreadbind()sitssockettoadifferentPortnumber.WSADATAwsa;

c - Microsoft 编译器下 _rdrand_step 内在函数的可用性?

根据微软的x64(amd64)IntrinsicsList,Microsoft为RDRAND提供了一个内在函数:_rdrand16_step_rdrand32_step_rdrand64_step但是,该页面并未讨论检测内在函数的可用性。有一个带有[2]的脚注,但它表示它仅适用于IntelCPU。我有两个问题。首先,我如何检测内在函数的可用性。也就是说,我应该使用什么预处理器宏来保护对say_rdrand64_step的调用。其次,如何在AMDCPU下访问RDRAND。根据AMD手册,AMD也提供。(更幽默的是,Microsoft将页面命名为amd64IntrinsicList。为什么

windows - 获取 CPU 使用率(%)

我想使用AutoIt将CPU使用率(以%为单位)传递给一个变量。有没有像MemGetStats()这样的功能为此? 最佳答案 WMI很慢。Thefollowingsolution返回速度更快,并包含每个处理器内核的信息:$aUsage=_GetCPUUsage()For$i=1To$aUsage[0]ConsoleWrite('CPU#'&$i&'-'&$aUsage[$i]&'%'&@CRLF)Next;################################################################

windows - 列出占用最多 CPU 时间的进程。(Powershell)

如何使系统服务不被枚举?我希望系统进程和所有其他系统服务(例如svchost)都不在列表中。Get-Process|Sort-ObjectCPU-desc|Select-Object-first3|Format-TableCPU,ProcessName,Id-hidetableheader 最佳答案 我喜欢另一个答案,但还有另一种不需要管理员权限的可能性,尽管它可能不是万无一失的:大多数系统服务在名为svchost的进程中运行,因此您可以简单地使用Where-Object排除这些进程:Get-Process|Where-Object

windows - 如何只读取 Windows COM 端口的可用数据?

我有一个串行(COM)端口的文件句柄。我需要立即读取任何可用数据,而不是等待发送其他数据。如何确定有多少数据可用?我可以调用SetCommMask(myHandle,EV_RXCHAR),然后等待一个事件告诉我一些数据可用,但这不会告诉我我现在可以使用多少无阻塞阅读。目前我正在使用CreateFile()和重叠I/O来执行我的读取,因此它们是异步的,但它们仍然会等到缓冲区被填满才能报告I/O已完成。 最佳答案 ClearCommError()函数就是您要查找的-它在COMSTAT结构中返回输入和输出队列中有多少个字符。

windows - 为什么在 Windows Vista x64 上调用 GlobalMemoryStatus 时可用物理内存 (dwAvailPhys) > 可用虚拟内存 (dwAvailVirtual)

我正在使用MSDN样本进行内存压力测试(请参阅:http://msdn.microsoft.com/en-us/magazine/cc163613.aspx)和专门占用物理内存的该工具的扩展(请参阅http://www.donationcoder.com/Forums/bb/index.php?topic=14895.0;prev_next=next)。我显然对虚拟内存和物理内存之间的区别感到困惑。我以为每个进程都有2GB的虚拟内存(虽然我也读了1.5GB因为“开销”)。我的理解是这个虚拟内存的一些/全部/没有可能是物理内存,而一个进程使用的物理内存量进程可能会随着时间的推移而改变(内

c - 为什么 WinHttpQueryDataAvailable 说有 0 个字节可用?

同步操作。GetLastError=0,WinHttpQueryDataAvailable本身返回TRUE(即OK),但要读取的字节数=0知道这是什么意思吗?它通常工作正常(从相机读取JPEG流),但偶尔会卡在这里(提示代码重新连接)。根据MSDN,WinHttpQueryDataAvailable不应返回:“如果session是同步的,则请求会等待数据可用。”代码摘录在这里:g_HSession=WinHttpOpen(L"Jet",WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,WINHTTP_NO_PROXY_NAME,WINHTTP_NO_PROXY_BYP

windows - 是什么阻止 Windows CPU 工作超过 100%?

今天我上了第一节UNIX课,如果有一些愚蠢的问题,请多多包涵。在类里面导师刚刚跑~$:是的“你好,世界”两次,然后CPU超过100%,实际上达到1.36,然后他杀死了2yes进程。他说在Solaris中,CPU可以达到400%,并且仍然可以工作。缓慢,但从不崩溃。这个cpu百分比是多少,如果是百分比怎么会超过100%?而且我从来没有在Windows中观察到任何超过100%的CPU百分比,如果它是80%,它就像蠕虫一样慢。是否有任何Windows操作系统限制以使其不会超过100%? 最佳答案 Unix和Windows都不能使用超过10

windows - Cygwin-x64 上的 "CPU you selected does not support x86-64 instruction set"错误

我正尝试按照以下说明在cygwin中安装openssl:我从这个网站下载了最新的tarballhttp://www.openssl.org/source/,并将其放入C:\cygwin64\home,然后我从cygwin运行这些命令tarzxvfopenssl-1.0.1e.tar.gzcdopenssl-1.0.1e./配置制作做测试安装(此处的说明:http://www.slideshare.net/ganaaturuu/cygwinandopen-sslinstallguide)直到第3步./config我相信它工作正常,至少没有报告错误,并且它给出消息“已为Cygwin配置”。