
示例代码如下:
GetsysInfoh:
#ifndef _H_GETSYSINFO#define _H_GETSYSINFO
#pragma once
#include <afxtemplh>
class GetSysInfo
{
public:
GetSysInfo(void);
~GetSysInfo(void);
public:
/获取 *** 作系统版本,Service pack版本、系统类型/
void GetOSVersion(CString &strOSVersion,CString &strServiceVersion);
BOOL IsWow64();//判断是否为64位 *** 作系统
/获取网卡数目和名字/
int GetInterFaceCount();
void GetInterFaceName(CString &InterfaceName,int pNum);
/获取物理内存和虚拟内存大小/
void GetMemoryInfo(CString &dwTotalPhys,CString &dwTotalVirtual);
/获取CPU名称、内核数目、主频/
void GetCpuInfo(CString &chProcessorName,CString &chProcessorType,DWORD &dwNum,DWORD &dwMaxClockSpeed);
/获取硬盘信息/
void GetDiskInfo(DWORD &dwNum,CString chDriveInfo[]);
/获取显卡信息/
void GetDisplayCardInfo(DWORD &dwNum,CString chCardName[]);
private:
CStringList Interfaces; //保存所有网卡的名字
CList < DWORD, DWORD &> Bandwidths; //各网卡的带宽
CList < DWORD, DWORD &> TotalTraffics; //各网卡的总流量
};
#endif
是不是感觉电脑很卡,CPU的占用率很高,下面是我带来的关于CPU占用率100%的九种可能及解决 方法 的内容,欢迎阅读!
CPU占用率100%的九种可能及解决方法:
我们在使用Windows XP *** 作系统 的时候,用着用着系统就变慢了,一看“任务管理器”才发现CPU占用达到100%。这是怎么回事情呢遇到病毒了,硬件有问题,还是系统设置有问题,在本文中笔者将从硬件,软件和病毒三个方面来讲解系统资源占用率为什么会达到100%。
CPU占用率高的九种可能:
1、防杀毒软件造成故障
由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量使用最少的监控服务吧,或者,升级你的硬件配备。
2、驱动没有经过认证,造成CPU资源占用100%
大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。 处理方式:尤其是显卡驱动特别要注意,建议使用微软认证的或由官方发布的驱动,并且严格核对型号、版本。
3、病毒、木马造成
大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:用可靠的杀毒软件彻底清理系统内存和本地硬盘,并且打开系统设置软件,察看有无异常启动的程序。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。
4、系统服务
控制面板—管理工具—服务—RISING REALTIME MONITOR SERVICE点鼠标右键,改为手动。
5、启动项
开始->;运行->;msconfig->;启动,关闭不必要的启动项,重启。
6、查看“Svchost”进程
Svchostexe是Windows XP系统的一个核心进程。svchostexe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchostexe的存在。一般在Windows 2000中svchostexe进程的数目为2个,而在Windows XP中svchostexe进程的数目就上升到了4个及4个以上。
7、查看网络连接
主要是网卡。
8、查看网络连接
当安装了Windows XP的计算机做服务器的时候,收到端口 445 上的连接请求时,它将分配内存和少量地调配 CPU资源来为这些连接提供服务。当负荷过重的时候,CPU占用率可能过高,这是因为在工作项的数目和响应能力之间存在固有的权衡关系。你要确定合适的 MaxWorkItems 设置以提高系统响应能力。如果设置的值不正确,服务器的响应能力可能会受到影响,或者某个用户独占太多系统资源。
要解决此问题,我们可以通过修改注册表来解决:在注册表编辑器中依次展开[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver ]分支,在右侧窗口中新建一个名为“maxworkitems”的DWORD值。然后双击该值,在打开的窗口中键入下列数值并保存退出:
如果计算机有512MB以上的内存,键入“1024”;如果计算机内存小于512 MB,键入“256”。
9、看看是不是Windows XP使用鼠标右键引起CPU占用100%:
前不久的报到说在资源管理器里面使用鼠标右键会导致CPU资源100%占用,我们来看看是怎么回事
征兆:
在资源管理器里面,当你右键点击一个目录或一个文件,你将有可能出现下面所列问题:
任何文件的拷贝 *** 作在那个时间将有可能停止相应
网络连接速度将显著性的降低
所有的流输入/输出 *** 作例如使用Windows Media Player听音乐将有可能是音乐失真成因:
当你在资源管理器里面右键点击一个文件或目录的时候,当快捷菜单显示的时候,CPU占用率将增加到100%,当你关闭快捷菜单的时候才返回正常水平。
解决方法:
方法一:关闭“为菜单和工具提示使用过渡效果”
1、点击“开始”--“控制面板”
2、在“控制面板”里面双击“显示”
3、在“显示”属性里面点击“外观”标签页
4、在“外观”标签页里面点击“效果”
5、在“效果”对话框里面,清除“为菜单和工具提示使用过渡效果”前面的复选框接着点击两次“确定”按钮。
方法二:在使用鼠标右键点击文件或目录的时候先使用鼠标左键选择你的目标文件或目录。然后再使用鼠标右键d出快捷菜单。
CPU占用100%解决办法
一般情况下CPU占了100%的话我们的电脑总会慢下来,而很多时候我们是可以通过做一点点的改动就可以解决,而不必问那些大虾了。
当机器慢下来的时候,首先我们想到的当然是任务管理器了,看看到底是哪个程序占了较搞的比例,如果是某个大程序那还可以原谅,在关闭该程序后只要CPU正常了那就没问题;如果不是,那你就要看看是什幺程序了,当你查不出这个进程是什幺的时候就去google或者baidu搜。有时只结束是没用的,在xp下我们可以结合msconfig里的启动项,把一些不用的项给关掉。在2000下可以去下个winpatrol来用。
一些常用的软件,比如浏览器占用了很搞的CPU,那幺就要升级该软件或者干脆用别的同类软件代替,有时软件和系统会有点不兼容,当然我们可以试下xp系统下给我们的那个兼容项,右键点该exe文件选兼容性。
svchostexe有时是比较头痛的,当你看到你的某个svchostexe占用很大CPU时你可以去下个aports或者fport来检查其对应的程序路径,也就是什幺东西在掉用这个svchostexe,如果不是c:Windowssystem32(xp)或c:winntsystem32(2000)下的,那就可疑。升级杀毒软件杀毒吧。
右击文件导致100%的CPU占用我们也会遇到,有时点右键停顿可能就是这个问题了。官方的解释:先点左键选中,再右键(不是很理解)。非官方:通过在桌面点右键-属性-外观-效果,取消”为菜单和工具提示使用下列过度效果(U)“来解决。还有某些杀毒软件对文件的监控也会有所影响,可以关闭杀毒软件的文件监控;还有就是对网页,插件,邮件的监控也是同样的道理。
一些驱动程序有时也可能出现这样的现象,最好是选择微软认证的或者是官方发布的驱动来装,有时可以适当的升级驱动,不过记得最新的不是最好的。
CPU降温软件,由于软件在运行时会利用所以的CPU空闲时间来进行降温,但Windows不能分辨普通的CPU占用和降温软件的降温指令之间的区别,因此CPU始终显示100%,这个就不必担心了,不影响正常的系统运行。
在处理较大的word文件时由于word的拼写和语法检查会使得CPU累,只要打开word的工具-选项-拼写和语法把”检查拼写和检查语法“勾去掉。
单击avi视频文件后CPU占用率高是因为系统要先扫描该文件,并检查文件所有部分,并建立索引;解决办法:右击保存视频文件的文件夹-属性-常规-高级,去掉为了快速搜索,允许索引服务编制该文件夹的索引的勾。
CPU占用100%案例分析
1、dllhost进程造成CPU使用率占用100%
特征:服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOSTEXE消耗了所有的CPU空闲时间,管理员在这种情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
直接原因:
有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果 其它 线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。
解决办法:
安装“一流信息监控拦截系统”,使用其中的“首席文件检查官IIS健康检查官”软件, 启用”查找死锁模块”,设置:
--wblock=yes
监控的目录,请指定您的主机的文件所在目录:
--wblockdir=d: est
监控生成的日志的文件保存位置在安装目录的log目录中,文件名为:logblockhtm
停止IIS,再启动“首席文件检查官IIS健康检查官”,再启动IIS,“首席文件检查官IIS健康检查官”会在logblockhtm中记录下最后写入的ACCESS文件的。
过了一段时间后,当问题出来时,例如CPU会再次一直处100%的水平,可以停止IIS,检查logblockhtm所记录的最后的十个文件,注意,最有问题的往往是计数器类的ACCESS文件,例如:”COUNTMDB”,”COUNTASP”,可以先把最后十个文件或有所怀疑的文件删除到回收站中,再启动IIS,看看问题是否再次出现。我们相信,经过仔细的查找后,您肯定可以找到这个让您 *** 心了一段时间的文件的。
找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决了。
2、svchostexe造成CPU使用率占用100%
其实svchostexe是Windows XP系统的一个核心进程。svchostexe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchostexe的存在。一般在Windows 2000中svchostexe进程的数目为2个,而在Windows XP中svchostexe进程的数目就上升到了4个及4个以上。所以看到系统的进程列表中有几个svchostexe不用那么担心。
svchostexe是一个系统的核心进程,并不是病毒进程。但由于svchostexe进程的特殊性,所以病毒也会千方百计的入侵svchostexe。通过察看svchostexe进程的执行路径可以确认是否中毒。
看了CPU占用率100%的九种可能及解决方法 文章 内容的人还看:
1 XP中CPU占用率100%原因及解决方法
2 Win中CPU占用100%原因及解决方法
3 关于CPU资源占用100%的原因及解决方法
4 WinXP中CPU占用100%原因及解决方法
5 CPU使用率达到100%会怎么样
6 CPU占用率100%的原因及解决方法
7 CPU占用率高的原因及解决方法
8 进程占用CPU 100%时可能中的病毒
你百度获取CPU使用率,C或C++的资料很多,你把它转成DELPHI代码不就OK了,转码不是很难。
Windows下用C语言获取进程cpu使用率,内存使用,IO情况
#ifndef PROCESS_STAT_H
#define PROCESS_STAT_H
#ifdef __cplusplus
extern “C” {
#endif
typedef long long int64_t;
typedef unsigned long long uint64_t;
/// 获取当前进程的cpu使用率,返回-1失败
int get_cpu_usage();
/// 获取当前进程内存和虚拟内存使用量,返回-1失败,0成功
int get_memory_usage(uint64_t mem, uint64_t vmem);
/// 获取当前进程总共读和写的IO字节数,返回-1失败,0成功
int get_io_bytes(uint64_t read_bytes, uint64_t write_bytes);
#ifdef __cplusplus
}
#endif
#endif/PROCESS_STAT_H/
/
需要连接到psapilib
/
#include
#include #include
#include “process_stath”
/// 时间转换
static uint64_t file_time_2_utc(const FILETIME ftime)
{
LARGE_INTEGER li;
assert(ftime);
liLowPart = ftime->dwLowDateTime;
liHighPart = ftime->dwHighDateTime;
return liQuadPart;
}
/// 获得CPU的核数
static int get_processor_number()
{
SYSTEM_INFO info;
GetSystemInfo(&info);
return (int)infodwNumberOfProcessors;
}
int get_cpu_usage()
{
//cpu数量
static int processor_count_ = -1;
//上一次的时间
static int64_t last_time_ = 0;
static int64_t last_system_time_ = 0;
FILETIME now;
FILETIME creation_time;
FILETIME exit_time;
FILETIME kernel_time;
FILETIME user_time;
int64_t system_time;
int64_t time;
int64_t system_time_delta;
int64_t time_delta;
int cpu = -1;
if(processor_count_ == -1)
{
processor_count_ = get_processor_number();
}
GetSystemTimeAsFileTime(&now);
if (!GetProcessTimes(GetCurrentProcess(), &creation_time, &exit_time,
&kernel_time, &user_time))
{
// We don’t assert here because in some cases (such as in the Task
Manager)
// we may call this function on a process that has just exited but
we have
// not yet received the notification
return -1;
}
system_time = (file_time_2_utc(&kernel_time) + file_time_2_utc(&user_time))
processor_count_;
time = file_time_2_utc(&now);
if ((last_system_time_ == 0) || (last_time_ == 0))
{
// First call, just set the last values
last_system_time_ = system_time;
last_time_ = time;
return -1;
}
system_time_delta = system_time – last_system_time_;
time_delta = time – last_time_;
assert(time_delta != 0);
if (time_delta == 0)
return -1;
// We add time_delta / 2 so the result is rounded
cpu = (int)((system_time_delta 100 + time_delta / 2) / time_delta);
last_system_time_ = system_time;
last_time_ = time;
return cpu;
}
int get_memory_usage(uint64_t mem, uint64_t vmem)
{
PROCESS_MEMORY_COUNTERS pmc;
if(GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc)))
{
if(mem) mem = pmcWorkingSetSize;
if(vmem) vmem = pmcPagefileUsage;
return 0;
}
return -1;
}
int get_io_bytes(uint64_t read_bytes, uint64_t write_bytes)
{
IO_COUNTERS io_counter;
if(GetProcessIoCounters(GetCurrentProcess(), &io_counter))
{
if(read_bytes) read_bytes = io_counterReadTransferCount;
if(write_bytes) write_bytes = io_counterWriteTransferCount;
return 0;
}
return -1;
}
#include “process_stath”
#include
#include
int main()
{
while(1)
{
int cpu;
uint64_t mem, vmem, r, w;
cpu = get_cpu_usage();
get_memory_usage(&mem, &vmem);
get_io_bytes(&r, &w);
printf(“CPU使用率: %u\n”,cpu);
printf(“内存使用: %u 字节\n”, mem);
printf(“虚拟内存使用: %u 字节\n”, vmem);
printf(“总共读: %u 字节\n”, r);
printf(“总共写: %u 字节\n”, w);
Sleep(1000);
}
return 0;
}
CPU经常占用率很高,究竟CPU占用率是什么呢下面是我带来的关于什么是 cpu 占用率的内容,欢迎阅读!
什么是cpu占用率:
CPU占用率就是CPU的使用率。
最简单的说法就是处理器的繁忙程度使用率很低就是很空闲使用率很高就是很忙当处理器使用率超过90%是基本上也就达到了满载(并不是非要达到100%才到满载)可能会出现卡顿的现象达到100%时就开始卡了。
CPU使用率是指运行程序占用的CPU资源,表明电脑在某个时间点上运行程序的情况;
使用率高:表明机器在该时间点上运行程序多;
使用率低:表明机器在该时间点上运行程序少;
使用率高低与CPU的强弱有直接关系;
现代分时多任务 *** 作系统 对 CPU 都是分时间片使用的:比如A进程占用10ms,然后B进程占用30ms,然后空闲60ms,再又是A进程占10ms,B进程占30ms,空闲60ms;如果在一段时间内都是如此,那么这段时间内的占用率为40%;
CPU对线程的响应并不是连续的,通常会在一段时间后自动中断线程。未响应的线程增加,就会不断加大CPU的占用;
CPU使用率高的原因有很多:大部分由于病毒木马或者启动项过多导致的;
当CPU使用率过高表明应用程序的调整或设计不良,需要及时优化;
定期优化应用程序和开机启动项,可以降低CPU的使用率。
相关 阅读推荐 :
CPU使用率其实就是你运行的程序占用的CPU资源,表示你的机器在某个时间点的运行程序的情况。使用率越高,说明你的机器在这个时间上运行了很多程序,反之较少。使用率的高低与你的CPU强弱有直接关系。现代分时多任务 *** 作系统对 CPU 都是分时间片使用的:比如A进程占用10ms,然后B进程占用30ms,然后空闲60ms,再又是A进程占10ms,B进程占30ms,空闲60ms;如果在一段时间内都是如此,那么这段时间内的占用率为40%。
CPU对线程的响应并不是连续的,通常会在一段时间后自动中断线程。未响应的线程增加,就会不断加大CPU的占用。cpu使用率高的原因有很多,但是一般都是由于病毒木马或开机启动项过多所致。高CPU使用率也可能表明应用程序的调整或设计不良。优化应用程序可以降低CPU的使用率。一般情况下CPU占了100%的话我们的电脑就会慢下来,而很多时候我们是可以通过做一点点的改动就可以解决,而不必问那些大虾了。
当机器慢下来的时候,首先我们想到的当然是任务管理器了,看看到底是哪个程序占了较高的比例,如果是某个大程序那还可以原谅,在关闭该程序后只要CPU正常了那就没问题;如果不是,那你就要看看是什么程序了,当你查不出这个进程是什么的时候就去google或者baidu搜。有时只结束是没用的,在xp下我们可以结合msconfig里的启动项,把一些不用的项给关掉。在2000下可以去下个winpatrol来用。
一些常用的软件,比如浏览器占用了很高的CPU,那么就要升级该软件或者干脆用别的同类软件代替,有时软件和系统会有点不兼容导致CPU使用率飙升,这种时候我们可以选择WINDOWS的兼容选项,右键点该exe文件选兼容性。
svchostexe有时是比较头痛的,当你看到你的某个svchostexe占用很大CPU时你可以去下个aports或者fport来检察其对应的程序路径,也就是什么东西在调用这个svchostexe,如果不是c:\Windows\system32(xp)或c:\winnt\system32(2000)下的,那就可疑。升级杀毒软件杀毒吧。
右击文件导致100%的CPU占用我们也会遇到,有时点右键停顿可能就是这个问题了。官方的解释:先点左键选中,再右键(不是很理解)。非官方:通过在桌面点右键-属性-外观-效果,取消“为菜单和工具提示使用下列过度效果(U)”来解决。还有某些杀毒软件对文件的监控也会有所影响,可以关闭杀毒软件的文件监控;还有就是对网页,插件,邮件的监控也是同样的道理。
一些驱动程序有时也可能出现这样的现象,最好是选择微软认证的或者是官方发布的驱动来装,有时可以适当的升级驱动,不过记得最新的不是最好的。
CPU降温软件,由于软件在运行时会利用所以的CPU空闲时间来进行降温,但Windows不能分辨普通的CPU占用和降温软件的降温指令之间的区别,因此CPU始终显示100%,这个就不必担心了,不影响正常的系统运行。
在处理较大的word文件时由于word的拼写和语法检察会使得CPU累,只要打开word的工具-选项-拼写和语法把”检察拼写和检察语法“勾去掉。
单击avi视频文件后CPU占用率高是因为系统要先扫描该文件,并检察文件所有部分,并建立索引;解决办法:右击保存视频文件的文件夹-属性-常规-高级,去掉为了快速搜索,允许索引服务编制该文件夹的索引的勾。
看了什么是cpu占用率 文章 内容的人还看:
1 CPU使用率高是什么原因
2 CPU占用率高有哪几种可能
3 cpu占用率过高是什么原因
4 CPU占用率高原因
5 XP中CPU占用率100%原因及解决方法
6 cpu正常使用率多少
7 电脑CPU占用率很高
8 随时了解CPU占用率!常用监测软件有哪些
9 SYSTEM进程的CPU占用率高怎么解决
10 电脑CPU占用率太高了怎么办
以上就是关于我的电脑的cpu使用率有时候一直在100%,怎么办全部的内容,包括:我的电脑的cpu使用率有时候一直在100%,怎么办、ios 平台获取线程cpu占用率、windows下C/C++如何获得当前主机的信息: *** 作系统版本、系统类型、CUP、网卡、内存和磁盘的利用率等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)