草庐IT

cpu_idle

全部标签

windows - 我怎么知道 CPU 是不是 Haswell

要知道,haswell是英特尔作为IvyBridge微架构的“第四代核心”继承者而开发的一种处理器微架构的代号。1英特尔正式发布了基于这种微架构的CPU...More但是,我想知道如何通过在Windows中使用PowerShell来显示我的CPU是否正常?在这种情况下,我有一个脚本来解决这个问题,但它可能对每个人都不合法:$cpuname=(Get-CimInstanceCIM_Processor).Name$splcpuall=@($cpuname-csplit"")$splcpu=$splcpuall[20]$ishaswell=if($splcpu-gt3){Write-Outp

c++ - 测量由我的程序引起的设备驱动程序 CPU/IO 利用率

有时代码可以利用设备驱动程序直到系统无响应。最近我优化了一段WIN32/VC++代码,导致系统几乎无响应。但是,CPU使用率非常低。原因是1000次GDI对象(钢笔、画笔等)的创建和销毁。一旦我重构代码以仅创建一次所有对象-系统再次变得响应。这让我想到了一个问题:对于给定的程序/功能/代码行,是否有一种方法可以测量设备驱动程序(GPU/磁盘/等)的CPU/IO使用情况? 最佳答案 您可以使用SysInternalsUtilities中的各种工具(现在是Microsoft产品,请参阅http://technet.microsoft.c

c++ - Windows 上通过 C++ 的唯一 CPU ID

好吧,我想获得一个唯一的CPUID,这样我就可以为每台机器获得一个唯一的标识。我确实从windows.h库中检查了__cpuid(),但问题是它得到的ID,它是所有类型CPU的ID,如果你有一个I3核心处理器而我有一个I3核心处理器,它会给相同的“唯一ID”。这是我从__cpuid()生成CPUID的方法,它返回相同类型处理器的相同信息:std::stringGetCPUID(){intCPUInfo[4]={-1};__cpuid(CPUInfo,0);if(CPUInfo[0]我还检查了一个名为“硬件ID提取器”的程序,它运行良好,它实际上返回了一个唯一的CPUID作为我想要的GU

c - 在 c 中获取进程 Cpu 使用情况

如何在c中获取进程Cpu使用情况?我需要每个进程和线程的Cpu使用率。请举个例子谢谢! 最佳答案 在纯C中,这是不可能的,但由于问题也被标记为“Windows”:CPU使用率是CPU时间除以实际时间。GetThreadTimes和GetProcessTimes函数为您提供该信息(以及其他功能,例如上面提到的JoachimPileborg的性能计数器,但我认为这个可能更容易)。您可能还想使用CreateToolhelp32Snapshot首先要知道存在哪些进程和线程。您需要将线程/进程ID转换为句柄,但我想这不会是一个大障碍(即Ope

java - 在一个 CPU 上运行 Java 线程

我们在JAVA中有一个多线程应用程序,它有多个并行运行的线程。现在我们想在一个核心上运行所有这些线程。当前,应用程序正在具有多个内核的系统上运行。我们知道.NetFramework中有一种技术可用ProcesAffinity来设置进程亲和性。但我们不想依赖.NetFramework,因为我们的应用程序是用java构建的。我们是否使用Bat文件设置Processaffinity并通过Bat文件运行我们的应用程序可执行jar文件?目前我们的应用程序在WindowsXP上运行。因此,我们需要一个能够在XP平台上正常运行的解决方案。 最佳答案

windows - 批处理 : How to run a program when the computer is idle and stop when it's used?

我需要运行一个Windows批处理(或任何其他命令行软件都可以),它会在计算机闲置一分钟时运行一个程序,并在使用时停止它。当它再次空闲时,我显然应该重新启动它。有什么想法吗?找不到任何不使用GUI的内容。 最佳答案 如果您使用的是Win-7,则可以在任务计划程序中执行此操作。打开任务计划程序,选择我的任务计划,然后选择创建任务(不是创建基本任务)。为其命名,单击“操作”选项卡并选择要运行的程序。选择“条件”选项卡,单击“如果空闲xxx分钟则运行”,并选中如果计算机不再空闲则停止运行。 关

c++ - CPU 使用率高

我们正在使用以下方法将日志写入日志文件。日志条目保存在名为m_LogList的vector中(STL字符串条目保存在vector中)。当vector的大小大于100时调用该方法。如果调用FlushLog方法,Log服务器的CPU占用率在20-40%左右。如果我们注释掉FlushLog方法,CPU利用率会下降到10-20%的范围。我可以使用哪些优化来降低CPU利用率?我们使用fstream对象将日志条目写入文件voidCLogFileWriter::FlushLog(){CRCCriticalSectionLocklock(m_pFileCriticalSection);//Entire

windows - 在Windows中,CPU在阻塞时做什么

每当CPU等待某个系统响应时,就会有阻塞调用,例如等待互联网请求。CPU在这些调用期间是否真的在浪费时间(我不知道是否有除no-op之外的机器指令对应于CPU在字面上浪费时间)。如果不是,它在做什么? 最佳答案 当操作系统调度程序寻找要移交给核心的工作时,线程会被简单地跳过。很常见的结果是什么都不需要做。然后处理器内核执行HLT指令。在HALT状态下,它(几乎)不消耗功率。需要中断才能使其恢复正常。最典型的是时钟中断,默认情况下每秒滴答64次。可能是设备中断。调度程序然后再次查找要执行的工作。冲洗并重复。

windows - 从 excel 文件读取时 CPU 使用率达到 100%?

我创建了一个VB.Net应用程序,它将读取excel文件并将数据放入表格中。我使用了一个包含3列和65000行的Excel工作表。在开始读取excel之前,我机器的CPU使用率约为15%,但在读取过程中,CPU使用率跃升至95%。我不知道为什么会这样?有人可以帮我解决这个问题吗?以下是我编写的代码:PrivateSubreadFromExcel(ByValfileNameAsString,ByValsheetNameAsString)DimconnStringAsString="datasource=XE;user=test;password=test"DimconAsNewOracl

c++ - 确定 CPU 缓存中值的值和/或地址

有没有办法准确确定当前或所有进程的CPU缓存(L1、L2等)中当前驻留的值、内存地址和/或其他信息?我已经做了很多阅读,其中展示了如何优化程序以更有效地利用CPU缓存。但是,我正在寻找一种方法来真正确定某些方法是否有效。底线:是否有可能100%确定什么进入和不进入CPU缓存。搜索此主题会返回几个关于如何确定缓存大小的结果,但不会返回内容。编辑:澄清下面的一些评论:由于软件无疑会改变缓存,CPU制造商是否有提供此功能的工具/硬件诊断系统(内置)? 最佳答案 如果不使用专用硬件,您无法直接检查CPU缓存中的内容。运行任何软件来检查CPU