草庐IT

mars-cpu

全部标签

c++ - 获取共享缓存的逻辑 CPU 内核数(L1、L2、L3)

下面是一些C++代码,使用GetLogicalProcessorInformation检测Windows上L1、L2和L3CPU缓存的大小。:typedefBOOL(WINAPI*LPFN_GLPI)(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION,PDWORD);LPFN_GLPIglpi=(LPFN_GLPI)GetProcAddress(GetModuleHandle(TEXT("kernel32")),"GetLogicalProcessorInformation");if(glpi){DWORDbytes=0;glpi(0,&bytes);size

C# 系统 CPU 使用率和与 Windows 任务管理器同步

这是一个由两部分组成的问题,我想在堆栈上发布我的代码以帮助其他人完成相同的任务。问题一:我有一个代码子集,我相信它可以根据测量间隔正确测量CPU使用率(跨系统中尽可能多的内核,根据检索的次数)——我在线程调用中使用了1秒。我不得不从网络上的极少数文章和C++代码中解读这一点。我的问题是,对于问题1,这是我所做的正确吗?有时返回的值是一个负数,这就是我乘以-1的原因。同样,我假设,因为文档很少,这就是我应该做的。我有以下代码:publicstaticclassProcessor{[DllImport("kernel32.dll",SetLastError=true)]staticexte

windows - 如何提高Windows 8进程的CPU利用率

我正在使用WEKA为我的大学做一个项目,我正在对一个非常大的文本文件(300MB)进行分类。但这是一个非常缓慢的过程。我查看了任务管理器,发现weka只使用了10%的cpu,整体cpu利用率约为13%。我想增加weka的cpu使用率。我已经将weka的优先级设置为“高”。我该怎么做? 最佳答案 如果是训练(训练数据集),weka默认使用10折交叉验证。WekaExplorer或命令行在单线程中完成所有折叠。可以使用GUIWekaKnowledgeFlow在线程上单独执行每个折叠。在您的情况下,这将是最简单的方法。但是,每个折叠都可以

c++ - 如何从 C++ 使用 Windows API 获取应用程序的 CPU 使用率或磁盘使用率?

如何在C++中使用API获取应用程序的CPU使用率或磁盘使用率???我想在windows上运行的应用程序中获得最高的CPU使用率或磁盘使用率。我试图找出API,但没有直接的API。谁能告诉我如何在C++中进行此操作。 最佳答案 您查看进程类别性能计数器以获得每个进程的CPU/内存/IO或相应类别(处理器、内存、物理/逻辑磁盘)计数器以获得整体系统性能。这些值可以通过dedicatedAPIs访问或来自WMI. 关于c++-如何从C++使用WindowsAPI获取应用程序的CPU使用率或磁

windows - 在 Windows 上的 Django 上使用多个 CPU

我有一个在Windows上运行的Django应用程序(通过Apache+mod_wsgi),它受CPU限制。但是Windows上的Apache只执行MPM(多线程)worker,不执行prefork(多进程worker),并且单个Python解释器不会利用多个CPU。我会切换到FastCGI,但这需要Flup,Windows不支持它。到目前为止,我想到的唯一解决方案是启动多个Django实例,然后使用Apache负载平衡来分配请求。只要我在命令窗口中启动Django实例就可以正常工作,但我似乎无法弄清楚如何将多个Django实例设置为Windows服务(以便我让它们在系统启动时自动启动

Java 仅将 2 个 CPU 中的 1 个用于 NUMA (Neo4J)

我正在开发一个java程序来创建一个非常大的Neo4J数据库。我使用batchinserter和Executors.newFixedThreadPool来加快速度。我的Win2012R2服务器在NUMA架构中有2个cpu(2x6核心+2x6超线程)和256GB。我现在的问题是,我的进口商只使用1个CPU(节点)。是否可以仅通过一个java进程使用两个NUMA节点?Java选项:-XX:+UseNUMA-Xmx64g-Xms64g 最佳答案 目前尚不清楚为每个节点分配了多少内存——是256GB还是128GB?无论哪种方式,据我所知,将

windows - wmic cpu get LoadPercentage 总是返回空值

我使用wmic命令来获取当前的CPU使用率,命令是:wmiccpugetLoadPercentage/value一开始它工作正常,但不知何故它不显示LoadPercentage,但总是返回空结果,如:C:\Users\Administrator>wmiccpugetLoadPercentage/valueLoadPercentage=这太奇怪了,我很确定结果与taskmgr.exe不匹配。我也试过不使用/value的命令,结果还是一样。我在服务器中复制了一个大文件,TaskManager和wmic中的CPU使用情况如下:无论TaskManager中有什么值,wmic总是返回空值。

c# - Windows 服务器/数据中心 : set CPU affinity with > 64 cores

SetThreadAffinityMask()允许为64个逻辑核心(处理器)设置关联掩码。但是,Windows数据中心最多可以有64个CPU,每个CPU都有很多内核(请参阅here)。>64核怎么设置线程?附言。我在C#中编码,因此.Net答案是理想的,但C中的API也很好。 最佳答案 我使用以下代码设置处理器组和CPU的亲和性:[StructLayout(LayoutKind.Sequential,Pack=4)]privatestruct_GROUP_AFFINITY{publicUIntPtrMask;[MarshalAs(U

windows - 自己的程序写入 300 个小文件。在那段时间里,explorer.exe 占用了近 100% 的 CPU 时间

我开发的C#应用程序将300个小(1k)文件写入本地文件系统(NTFS)。在此期间,explorer.exe使用高达100%的CPU时间。我已经整理好的东西:确保没有资源管理器窗口打开显示目标文件夹排除目标文件夹的索引为整个驱动器排除索引停止并禁用“Windows搜索”服务(SearchIndexer.exe)所有这些都没有效果。当我使用SysinternalsProcessExplorer时,我看到explorer.exe的一个繁忙线程大部分时间都在声明:ntdll.dll!RtIFreeUnicodeString+0x1370它的堆栈看起来像这样:0msvcrt.dll!memcp

windows - 如何通过SNMP或其他方式监控Windows CPU和风扇温度

我想监控windows机器的3种数据:处理器温度,风扇温度和风扇速度,每5分钟检索一次这些数据。如果这些数据可以通过SNMP获取,那是我的首选。我想知道这些数据的根数据源是来自微软还是主板供应商。如果他们来自Microsoft,他们的OID应该以1.3.6.1.4.1.311开头,如果他们来自主板供应商,他们的OID应该以1.3.6.1.4.1开头.[motherboardvendorprivatesnmpvendorOID],例如1.3.6.1.4.1.11为HP服务器机器,11代表HP的私有(private)snmp供应商OID。 最佳答案