为您找到与单进程多线程能充分利用CPU吗相关的共200个结果:
有时候为了更好地操作机器, 需要将某个进程绑定到具体的CPU上去,那么Ubuntu怎么绑定CPU进程呢?就让读文网小编来告诉大家Ubuntu绑定CPU进程的方法吧,希望对大家有所帮助。
taskset -cp 《CPU ID | CPU IDs》 《Process ID》
下面用一个简单的例子来说明怎样做到。
1. CPU利用率达100%的样例代码:
class Test {
public static void main(String args[]) {
int i = 0;
while (true) {
i++;
}
}
}
2. 编译并运行上面的样例代码
# javac Test.java
# java Test &
[1] 26531
3. 使用htop命令查看CPU的利用率
如果未安装htop工具,执行下面的命令:
# apt-get install htop
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
htop
0 upgraded, 1 newly installed, 0 to remove and 41 not upgraded.
Need to get 66.9 kB of archives.
After this operation, 183 kB of additional disk space will be used.
Get:1 http://mirrors.163.com/ubuntu/ precise/universe htop amd64 1.0.1-1 [66.9 kB]
Fetched 66.9 kB in 0s (163 kB/s)
Selecting previously unselected package htop.
(Reading database ... 57100 files and directories currently installed.)
Unpacking htop (from .../htop_1.0.1-1_amd64.deb)...
Processing triggers for man-db ...
Setting up htop (1.0.1-1)...
安装完成后,执行命令:
# htop
上面的视图可以看到,CPU2的利用率达到100%,且这个进程有可能被分配到其它CPU核上运行,这个分配是不定的。
4. 进程绑定CPU核
运行以下命令,把此Java进程(进程ID号为26502)永久的分配给5号CPU核(CPU核号从0开始计算,因此序号4指的是5号CPU核)
# taskset -cp 5 26531
pid 26531‘s current affinity list: 0-7
pid 26531’s new affinity list: 5
从上面的视图中可以看到6号CPU核的利用率为100%。
随着CPU核的多个化,这样的绑定方法也是一样的,无论绑定哪个CPU核都能启动同样的效果,相信大家都追求运行的高速度,赶快来学习绑定CPU进程的方法吧!
看过“Ubuntu怎么绑定CPU进程”
浏览量:2
下载量:0
时间:
asa防火墙cpu进程利用率感觉利用了很多,你会查看吗?下面由读文网小编给你做出详细的asa防火墙cpu进程利用率查看方法介绍!希望对你有帮助!
您可以用show cpu usage ,show mem查看,或者你可以用ASDM直观的看出来,如果不会配置,你去ITAA学习组上学学,问问专业工程师。
浏览量:2
下载量:0
时间:
在有些时候我们的进程cpu不稳定,这该怎么呢?下面就由读文网小编来为你们简单的介绍进程cpu不稳定的解决方法吧!希望你们喜欢!
首先我们打开任务管理器,然后切换到cpu行列,对占用cpu的出程序逐一排查,查看哪个cpu程序占用的cpu忽高忽低的情况。找到占用cpu不稳定的进程将其结束掉(不是系统进程的前提下),如果发现时系统进程不能结束的话,那就系统的问题了。
系统的问题包括驱动安装不正常,或者系统被病毒木马入侵的情况,还有一种情况就是杀毒软件对电脑的监控占用大量的cpu导致不稳定的情况。
解决方法:先用杀毒软件杀下毒,最好是重新安装一个正版系统,这样就不会出现系统导致占用cpu使用率不稳定的情况。然后在减少开机启动项,点击【开始-运行-msconfig-启动】,关闭不必要的启动项,重启。现在在查看就不会有占用大量cpu和不稳定忽高忽低的情况了。
当然还有可能是硬件的故障,不过这种可能性不是很大,这当中也包括硬件驱动、硬盘坏道等原因,建议安装驱动精灵检测电脑所有驱动,然后对电脑使用MHDD扫描硬盘试试看查看硬盘是否有坏道的情况。
看过"进程cpu不稳定怎么办"
浏览量:2
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于搜狗浏览器进程占cpu太多的内容,欢迎阅读!
CPU插槽代表
SLOT 1
SLOT 1是英特尔公司为取代Socket 7而开发的CPU接口,并申请的专利。这样其它厂商就无法生产SLOT 1接口的产品。SLOT1接口的CPU不再是大家熟悉的方方正正的样子,而是变成了扁平的长方体,而且接口也变成了金手指,不再是插针形式。SLOT 1是英特尔公司为Pentium Ⅱ系列CPU设计的插槽,其将Pentium Ⅱ CPU及其相关控制电路、二级缓存都做在一块子卡上,此种接口已经被淘汰。Socket 370
SLOT 2
SLOT 2用途比较专业,都采用于高端服务器及图形工作站的系统。所用的CPU也是很昂贵的Xeon(至强)系列。Slot 2插槽比SLOT 1更长,有了Slot 2设计后,可以在一台服务器中同时采用 8个处理器。而且采用Slot 2接口的Pentium Ⅱ CPU都采用了当时最先进的0.25微米制造工艺。支持SLOT 2接口的主板芯片组有440GX和450NX。
SLOT A
SLOT 2SLOT A接口类似于英特尔公司的SLOT 1接口,供AMD公司的K7 Athlon使用的。在技术和性能上,SLOT A主板可完全兼容原有的各种外设扩展卡设备。它使用的并不是Intel的P6 GTL+ 总线协议,而是Digital公司的Alpha总线协议EV6。EV6架构是种较先进的架构,它采用多线程处理的点到点拓扑结构,支持200MHz的总线频率。
浏览量:2
下载量:0
时间:
不少网友问任务管理器显示进程的问题,CPU总是占了百分百应该怎么办呢,下面是读文网小编带来的关于任务管理器显示进程CPU100%的内容,欢迎阅读!
缓存大小也是CPU的重要指标之一,而且缓存的结构和大小对CPU速度的影响非常大,CPU内缓存的运行频率极高,一般是和处理器同频运作,工作效率远远大于系统内存和硬盘。实际工作时,CPU往往需要重复读取同样的数据块,而缓存容量的增大,可以大幅度提升CPU内部读取数据的命中率,而不用再到内存或者硬盘上寻找,以此提高系统性能。但是由于CPU芯片面积和成本的因素来考虑,缓存都很小。
L1Cache(一级缓存)是CPU第一层高速缓存,分为数据缓存和指令缓存。内置的L1高速缓存的容量和结构对CPU的性能影响较大,不过高速缓冲存储器均由静态RAM组成,结构较复杂,在CPU管芯面积不能太大的情况下,L1级高速缓存的容量不可能做得太大。一般服务器CPU的L1缓存的容量通常在32-256KB。
L2Cache(二级缓存)是CPU的第二层高速缓存,分内部和外部两种芯片。内部的芯片二级缓存运行速度与主频相同,而外部的二级缓存则只有主频的一半。L2高速缓存容量也会影响CPU的性能,原则是越大越好,以前家庭用CPU容量最大的是512KB,笔记本电脑中也可以达到2M,而服务器和工作站上用CPU的L2高速缓存更高,可以达到8M以上。
L3Cache(三级缓存),分为两种,早期的是外置,内存延迟,同时提升大数据量计算时处理器的性能。降低内存延迟和提升大数据量计算能力对游戏都很有帮助。而在服务器领域增加L3缓存在性能方面仍然有显著的提升。比方具有较大L3缓存的配置利用物理内存会更有效,故它比较慢的磁盘I/O子系统可以处理更多的数据请求。具有较大L3缓存的处理器提供更有效的文件系统缓存行为及较短消息和处理器队列长度。
任务管理器显示进程CPU100%相关
浏览量:2
下载量:0
时间:
CPU是电脑的重要组成部分,是不可缺少的角色。现在的播放器太多了,,但是还是很多用户依然习惯用Win7或者Vista自带的Windows Media Player播放器,简称WMP的那个。先来了解下这个wmpnetwk是什么吧,下面是读文网小编带来的关于Vista下占用CPU过高wmpnetwk进程如何禁止的内容,欢迎阅读!
CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。有的指令中也直接包含操作数本身。
提取第一阶段,提取,从存储器或高速缓冲存储器中检索指令(为数值或一系列数值)。由程序计数器(Program Counter)指定存储器的位置。(程序计数器保存供识别程序位置的数值。换言之,程序计数器记录了CPU在程序里的踪迹。)
解码解码线路CPU根据存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片段。根据CPU的指令集架构(ISA)定义将数值解译为指令。一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个加法(Addition)运算的运算目标。浏览量:2
下载量:0
时间:
CPU是电脑的重要组成部分,是不可缺少的角色。下面是读文网小编带来的关于关闭Win7下的wmpnetwk进程如何给CPU降压的内容,欢迎阅读!
CPU包括运算逻辑部件、寄存器部件和控制部件等。
逻辑部件英文Logic components;运算逻辑部件。可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。
寄存器寄存器部件,包括寄存器、专用寄存器和控制寄存器。 通用寄存器又可分定点数和浮点数两类,它们用来保存指令执行过程中临时存放的寄存器操作数和中间(或最终)的操作结果。 通用寄存器是中央处理器的重要部件之一。
控制部件英文Control unit;控制部件,主要是负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。其结构有两种:一种是以微存储为核心的微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。微存储中保持微码,每一个微码对应于一个最基本的微操作,又称微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。中央处理器在对指令译码以后,即发出一定时序的控制信号,按给定序列的顺序以微周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。简单指令是由(3~5)个微操作组成,复杂指令则要由几十个微操作甚至几百个微操作组成。
浏览量:2
下载量:0
时间:
SYSTEM进程占用高的话应该怎么办呢,下面是读文网小编带来的关于SYSTEM进程的CPU占用率高怎么解决的内容,欢迎阅读!
英文Processing instructions;这是指控制程序中指令的执行顺序。程序中的各指令之间是有严格顺序的,必须严格按程序规定的顺序执行,才能保证计算机系统工作的正确性。
执行操作英文Perform an action;一条指令的功能往往是由计算机中的部件执行一系列的操作来实现的。CPU要根据指令的功能,产生相应的操作控制信号,发给相应的部件,从而控制这些部件按指令的要求进行动作。
控制时间英文Control time;时间控制就是对各种操作实施时间上的定时。在一条指令的执行过程中,在什么时间做什么操作均应受到严格的控制。只有这样,计算机才能有条不紊地工作。
处理数据即对数据进行算术运算和逻辑运算,或进行其他的信息处理。其功能主要是解释计算机指令以及处理计算机软件中的数据, 并执行指令。在微型计算机中又称微处理器,计算机的所有操作都受CPU控制,CPU的性能指标直接决定了微机系统的性能指标。CPU具有以下4个方面的基本功能:数据通信,资源共享,分布式处理,提供系统可靠性。运作原理可基本分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。
浏览量:2
下载量:0
时间:
Win7由于系统或者自带软件的原因,往往会出现许多相同的进程。这里读文网小编和大家分享一下怎样快而且迅速地关掉这些进程。下面大家跟着读文网小编一起来学习一下吧。
1、首先按组合键“win+r”打开运行窗口,输入“cmd”并回车即可打开命令提示符,如图所示:
2、接着在打开的命令提示符窗口内,输入代码:“taskkill /F /IM 360se.exe *32”,并按下回车键,即可,如图所示:
朋友们注意了:后面360se.exe *32为进程名称,删除哪个进程就用哪个进程名称,这些只是示范。
也可以右键新建一个快捷方式,然后在快捷方式的对象位置中输入以上命令。
5创建快捷方式以后,就可以实现一键关闭了。
通过这种方法便能快速地将多个相同进程一次性关闭掉,不但节约时间也加快了系统运行速度,而且也不用担心有些进程难以关闭。
浏览量:2
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于svchost.exe进程CPU占用率过高可能的原因以及解决方法如的内容,欢迎阅读!
在基于NT内核的windows操作系统家族中,不同版本的windows系统,存在不同数量的“svchost”进程,用户使用“任务管理器”可查看其进程数目。一般来说,win2000有两个svchost进程,winxp中则有四个或四个以上的svchost进程(以后看到系统中有多个这种进程,千万别立即判定系统有病毒了哟),而win2003server中则更多。这些svchost进程提供很多系统服务,如:rpcss服务(remoteprocedurecall)、dmserver服务(logicaldiskmanager)、dhcp服务(dhcpclient)等。到了Windows Vista 系统时svchost 进程多达12个,这些svchost.exe都是同一个文件路径下C :WindowsSystem32svchost.exe , 它们分别是imgsvc、 NetworkServiceNetworkRestricted、 LocalServiceNoNetwork 、NetworkService 、LocalService 、netsvcs 、LocalSystemNetworkRestricted、 LocalServiceNetworkRestricted 、services 、rpcss、 WerSvcGroup 、DcomLaunch服务组。如果要了解每个svchost进程到底提供了多少系统服务,可以在win2000的命令提示符窗口中输入“tlist-s”命令来查看,该命令是win2000supporttools提供的。在winxp则使用“tasklist/svc”命令。
浏览量:2
下载量:0
时间:
服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。某种进程造成了CPU的使用率一直上涨到百分百的时候,怎么办呢,下面是读文网小编带来的关于dllhost进程造成CPU使用率占用100%的内容,欢迎阅读!
察看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种情况下,只好重新启动ⅡS服务,奇怪的是,重新启动ⅡS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
【直接原因】:有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其它线程只能等待,ⅡS被死锁了,全部的CPU时间都消耗在DLLHOST中。
解决办法:安装"一流信息监控拦截系统",使用其中的"首席文件检察官ⅡS健康检察官"软件,启用"察封我号锁模块",设置:--wblock=yes监控的目录,请指定您的主机的文件所在目录:--wblockdir=d: est监控生成的日志的文件保存位置在安装目录的log目录中,文件名为:logblock.htm停止ⅡS,再启动"首席文件检察官ⅡS健康检察官",再启动ⅡS,"首席文件检察官ⅡS健康检察官"会在logblock.htm中记录下最后写入的ACCESS文件的。
过了一段时间后,当问题出来时,例如CPU会再次一直处100%的水平,可以停止ⅡS,检察logblock.htm所记录的最后的十个文件,注意,最有问题的往往是计数器类的ACCESS文件,例如:"**COUNT.MDB","**COUNT.ASP",可以先把最后十个文件或有所怀疑的文件删除到回收站中,再启动ⅡS,看看问题是否再次出现。我们相信,经过仔细的察找后,您肯定可以找到这个让您操心了一段时间的文件的。
找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决了。⒉svchost.exe造成CPU使用率占用100%在win.ini文件中,在[Windows]下面,"run="和"load="是可能加载"木马"程序的途径,必须仔细留心它们。一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上"木马"了。当然你也得看清楚,因为好多"木马",如"AOL Trojan木马",它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。在system.ini文件中,在[BOOT]下面有个"shell=文件名"。
正确的文件名应该是"explorer.exe",如果不是"explorer.exe",而是"shell= explorer.exe 程序名",那么后面跟着的那个程序就是"木马"程序,就是说你已经中"木马"了。在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:"HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun"目录下,察看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的"木马"程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如"Acid Battery v1.0木马",它将注册表"HKEY-LOCAL-MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun"下的Explorer 键值改为Explorer="C:Windowsexpiorer.exe","木马"程序与真正的Explorer之间只有"i"与"l"的差别。
当然在注册表中还有很多地方都可以隐藏"木马"程序,如:"HKEY-CURRENT-USERSoftwareMicrosoftWindowsCurrentVersionRun"、"HKEY-USERS****SoftwareMicrosoftWindowsCurrentVersionRun"的目录下都有可能,最好的办法就是在"HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun"下找到"木马该病毒也称为"Code Red Ⅱ(红色代码2)"病毒,与早先在西方英文系统下流行"红色代码"病毒有点相反,在国际上被称为VirtualRoot(虚拟目录)病毒。该蠕虫病毒利用Microsoft已知的溢出漏洞,通过80端口来传播到其它的Web页服务器上。
受感染的机器可由黑客们通过Http Get的请求运行scripts/root.exe来获得对受感染机器的完全控制权。当感染一台服务器成功了以后,如果受感染的机器是中文的系统后,该程序会休眠2天,别的机器休眠1天。当休眠的时间到了以后,该蠕虫程序会使得机器重新启动。
该蠕虫也会检察机器的月份是否是10月或者年份是否是2002年,如果是,受感染的服务器也会重新启动。当Windows NT系统启动时,NT系统会自动搜索C盘根目录下的文件explorer.exe,受该网络蠕虫程序感染的服务器上的文件explorer.exe也就是该网络蠕虫程序本身。该文件的大小是8192字节,VirtualRoot网络蠕虫程序就是通过该程序来执行的。同时,VirtualRoot网络蠕虫程序还将cmd.exe的文件从Windows NT的system目录拷贝到别的目录,给黑客的入侵敞开了大门。
它还会修改系统的注册表项目,通过该注册表项目的修改,该蠕虫程序可以建立虚拟的目录C或者D,病毒名由此而来。值得一提的是,该网络蠕虫程序除了文件explorer.exe外,其余的操作不是基于文件的,而是直接在内存中来进行感染、传播的,这就给捕捉带来了较大难度。
"程序的文件名,再在整个注册表中搜索即可。我们先看看微软是怎样描述svchost.exe的。在微软知识库314056中对svchost.exe有如下描述:svchost.exe 是从动态链接库(DLL) 中运行的服务的通用主机进程名称。其实svchost.exe是Windows XP系统的一个核心进程。系统的进程列表中有几个svchost.exe不用那么担心。svchost.exe到底是做什么用的呢?首先我们要了解一点那就是Windows系统的中的进程分为:独立进程和共享进程这两种。由于Windows系统中的服务越来越多,为了节约有限的系统资源微软把很多的系统服务做成了共享模式。
那svchost.exe在这中间是担任怎样一个角色呢?svchost.exe的工作就是作为这些服务的宿主,即由svchost.exe来启动这些服务。svchost.exe只是负责为这些服务提供启动的条件,其自身并不能实现任何服务的功能,也不能为用户提供任何服务。svchost.exe通过为这些系统服务调用动态链接库(DLL)的方式来启动系统服务。
svchost.exe是病毒这种说法是任何产生的呢?因为svchost.exe可以作为服务的宿主来启动服务,所以病毒、木马的编写者也挖空心思的要利用svchost.exe的这个特性来迷惑用户达到入侵、破坏计算机的目的。如何才能辨别哪些是正常的svchost.exe进程,而哪些是病毒进程呢?svchost.exe的键值是在"HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionSvchost",如图1所示。图1中每个键值表示一个独立的svchost.exe组。微软还为我们提供了一种察看系统正在运行在svchost.exe列表中的服务的方法。
以Windows XP为例:在"运行"中输入:cmd,然后在命令行模式中输入:tasklist /svc。系统列出如图2所示的服务列表。图2中红框包围起来的区域就是svchost.exe启动的服务列表。如果使用的是Windows 2000系统则把前面的"tasklist /svc"命令替换为:"tlist -s"即可。如果你怀疑计算机有可能被病毒感染,svchost.exe的服务出现异常的话通过搜索svchost.exe文件就可以发现异常情况。一般只会找到一个在:"C:WindowsSystem32"目录下的svchost.exe程序。
如果你在其它目录下发现svchost.exe程序的话,那很可能就是中毒了。还有一种确认svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在Windows系统自带的任务管理器不能察看进程路径,所以要使用第三方的进程察看工具。上面简单的介绍了svchost.exe进程的相关情况。总而言之,svchost.exe是一个系统的核心进程,并不是病毒进程。但由于svchost.exe进程的特殊性,所以病毒也会千方百计的入侵svchost.exe。通过察看svchost.exe进程的执行路径可以确认是否中毒。⒊Services.exe造成CPU使用率占用100%
浏览量:2
下载量:0
时间:
在项目开发过程中使用到多线程技术,有时程序运行起来占用CPU很高(具体占用多少,跟你的CPU核数有关。CPU过高的问题,CPU多线程的问题,下面是读文网小编带来的关于多线程执行CPU过高问题的内容,欢迎阅读!
浏览量:3
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于intel多线程cpu的内容,欢迎阅读!
1992 年ATI 推出了Mach32A,也就是 Mach8 的改进型。1993 年,在年营业额突破2.3 亿加元后,ATI 在多伦多证交所上市,之后由于股灾,ATI 一度面临生死存亡的局面。在Mach64 诞生后,由其带来的成功,ATI 所有的麻烦都迎刃而解。ATI 开始成立了自己的3D部门,这为后来的ATI 奠定了基础。
1994 年,首块能够对影像提供加速功能的显卡Mach64 诞生。这块显卡是计算机图形发展历史上的一块里程碑。Mach64 所使用的Graphics Xpression 和Graphics Pro Turbo 技术能够支持YUV 到RGB的色彩空间转换,使得PC获得了MPEG 的视频加速能力。1995 年诞生Mach64-VT 版本。其完全将CPU 解压的负担承担了起来,由于VT版本的Mach64提供了对视频中的X轴和Y轴的过滤得能力,所以对分辨率为320x240 的视频图像重新调整大小至1024x768 时也不会出现因为放大所产生的任何马赛克。
1996 年1 月,ATI 推出3D Rage 系列。开始提供对MPEG-2的解码支持。通过后来引入Rage 系列显示芯片的 iDCT 等先进技术更大大降低了CPU 在播放MPEG-2 视频时的负担。1997 年4 月发布3D Rage Pro。四千五百万像素填充率,VQ的材质压缩功能,每秒能够生成一百二十万的三角形,8MBSGRAM或者16MBWRAM的高速显存,这些数字给了当时3D图形芯片的王者Voodoo以很大压力。1997 年,在2D 时代非常强大的Tseng Labs 公司被ATI 收购,40 名经验丰富的显卡工程师加入了ATI 的开发团队。
1998 年2 月Rage Pro 更名为Rage Pro Turbo ,驱动也作了相应更新后,性能提升了将近40% 。1998 年,Rage 128 GL 发布。Rage 128 GL 是首款支持Quake 3 中的OpenGL 扩展集的硬件。1999 年4 月ATI 发布了Rage 系列的最后产品Rage 128 Pro 。各项异性过滤,优化的多边形设置引擎,以及更高的时钟频率,使得Rage 128 Pro 成了1999 年QuakeCon 比赛的官方指定显卡,更高端的RAGE Fury Pro 是加入了Rage Theater 提高了显卡的视频性能。
浏览量:2
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于Linux系统下,CPU信息详解(cpuinfo,多核,多线程)的内容,欢迎阅读!
在Linux系统中,如何详细了解CPU的信息呢? 当然是通过cat /proc/cpuinfo来检查了,但是比如几个物理CPU/几核/几线程,这些问题怎么确定呢?
经过查看,我的开发机器是2个物理CPU,16核32线程,Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
系统的架构是X86的64位系统
CPUs 有32个逻辑的处理器
Threads per core: 每个核有两个线程
Core per Socket:每个物理卡槽有8个核心
CPU Socket :有2个物理卡槽
NUMA nodes : Non Uniform Memory Access Architecture,使众多服务器像单一系统那样运转,两个NUMA
记录一下,判断的过程和知识。
判断依据:
1.具有相同core id的cpu是同一个core的超线程。
2.具有相同physical id的cpu是同一颗cpu封装的线程或者cores。
英文版:
1.Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.
2.Any cpu with the same physical id are threads or cores in the same physical socket.
echo "logical CPU number:"
#逻辑CPU个数
cat /proc/cpuinfo | grep "processor" | wc -l
echo "physical CPU number:"
#物理CPU个数:
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
echo "core number in a physical CPU:"
#每个物理CPU中Core的个数:
cat /proc/cpuinfo | grep "cpu cores" | uniq | awk -F: '{print $2}'
#查看每个physical cpu上core id的数量,即为每个物理CPU上的core的个数
cat /proc/cpuinfo | grep "core id"
#是否为超线程?
#如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。
#每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
cat /proc/cpuinfo | grep "siblings"
/proc/cpuinfo 文件包含系统上每个处理器的数据段落。/proc/cpuinfo 描述中有 6 个条目适用于多内核和超线程(HT)技术检查:processor, vendor id, physical id, siblings, core id 和 cpu cores。
processor 条目包括这一逻辑处理器的唯一标识符。
physical id 条目包括每个物理封装的唯一标识符。
core id 条目保存每个内核的唯一标识符。
siblings 条目列出了位于相同物理封装中的逻辑处理器的数量。
cpu cores 条目包含位于相同物理封装中的内核数量。
如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。
1.拥有相同 physical id 的所有逻辑处理器共享同一个物理插座。每个 physical id 代表一个唯一的物理封装。
2.Siblings 表示位于这一物理封装上的逻辑处理器的数量。它们可能支持也可能不支持超线程(HT)技术。
3.每个 core id 均代表一个唯一的处理器内核。所有带有相同 core id 的逻辑处理器均位于同一个处理器内核上。
4.如果有一个以上逻辑处理器拥有相同的 core id 和 physical id,则说明系统支持超线程(HT)技术。
5.如果有两个或两个以上的逻辑处理器拥有相同的 physical id,但是 core id 不同,则说明这是一个多内核处理器。cpu cores 条目也可以表示是否支持多内核。
判断CPU是否64位,检查cpuinfo中的flags区段,看是否有lm标识。
Are the processors 64-bit?
A 64-bit processor will have lm ("long mode") in the flags section of cpuinfo. A 32-bit processor will not
浏览量:2
下载量:0
时间:
中央处理器(CentralProcessingUnit)的缩写,即CPU,CPU是电脑中的核心配件,只有火柴盒那么大,几十张纸那么厚,但它却是一台计算机的运算核心和控制核心。下面是读文网小编带来的关于java和多线程cpu的内容,欢迎阅读!
前端总线的速度指的是CPU和北桥芯片间总线的速度,更实质性的表示了CPU和外界数据传输的速度。而外频的概念是建立在数字脉冲信号震荡速度基础之上的,也就是说,100MHz外频特指数字脉冲信号在每秒钟震荡一万万次,它更多的影响了PCI及其他总线的频率。之所以前端总线与外频这两个概念容易混淆,主要的原因是在以前的很长一段时间里(主要是在Pentium 4出现之前和刚出现Pentium 4时),前端总线频率与外频是相同的,因此往往直接称前端总线为外频,最终造成这样的误会。随着计算机技术的发展,人们发现前端总线频率需要高于外频,因此采用了QDR(Quad Date Rate)技术,或者其他类似的技术实现这个目的。
这些技术的原理类似于AGP的2X或者4X,它们使得前端总线的频率成为外频的2倍、4倍甚至更高,从此之后前端总线和外频的区别才开始被人们重视起来。FSB是将CPU连接到北桥芯片的总线,也是CPU和外界交换数据的主要通道,因此前端总线的数据传输能力对整机性能影响很大,数据传输最大带宽取决于所有同时传输数据的宽度和传输频率,即数据带宽=总线频率×数据位宽÷8。例如Intel公司的PⅡ333使用6 6MHz的前端总线,所以它与内存之间的数据交换带宽为528MB/s =(66×64)/8,而其PⅡ350则使用100MHz的前端总线,所以其数据交换峰值带宽为800MB/s=(100×64)/8。再比如Intel 845芯片组只支持单通道DDR333内存,所以理论最高内存带宽为333MHz×8Bytes(数据宽度)=2.7GB/s,而Intel 875平台在双通道下的内存带宽最高可达400MHz×8Bytes(数据宽度)×2=6.4GB/s。PC机常用的前端总线频率有266MHz、333MHz、400MHz、533MHz、800MHz、1066MHz几种。
浏览量:2
下载量:0
时间:
CPU是电脑的重要组成部分,是不可缺少的角色。下面是读文网小编带来的关于关于linux的进程中的各个线程cpu占用情况进行分析和查看的内容,欢迎阅读!
我们经常会在新开的服搭建一个游戏的服务器,有时候要进行压力测试,那么如何来看呢,一般我们会通过top命令查看各个进程的cpu和内存占用情况,获得到了我们的进程id,然后我们也许会通过pstack命令查看里边的各个线程id以及对应的线程现在正在做什么事情,分析多组数据就可以获得哪些线程里有慢操作影响了服务器的性能,从而得到解决方案。比如这样的以组数据:
[root@AY130816144542124256Z bin]# pstack 30222
Thread 9 (Thread 0x7f729adc1700 (LWP 30251)):
#0 0x00007f72a429b720 in sem_wait () from /lib64/libpthread.so.0
#1 0x0000000000ac5eb6 in Semaphore::down() ()
#2 0x0000000000ac5cac in Queue::get() ()
#3 0x00000000009a583f in DBManager::processUpdate(Queue*) ()
#4 0x00000000009a4bfb in dbUpdateThread(void*) ()
#5 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 8 (Thread 0x7f727c579700 (LWP 30252)):
#0 0x00007f72a429b720 in sem_wait () from /lib64/libpthread.so.0
#1 0x0000000000ac5eb6 in Semaphore::down() ()
#2 0x0000000000ac5cac in Queue::get() ()
#3 0x00000000009a5799 in DBManager::processQuery(Queue*) ()
#4 0x00000000009a4c3a in dbQueryThread(void*) ()
#5 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 7 (Thread 0x7f7257fff700 (LWP 30253)):
#0 0x00007f72a42997bb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1 0x00007f72a549ee08 in utils::thread::condition_impl::timed_wait(int) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#2 0x00007f72a549ebd3 in utils::thread::Condition::timed_wait(int) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#3 0x00000000009d5f57 in utils::MessageQueue::pop() ()
#4 0x00000000009d5557 in FightReport::svc() ()
#5 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#6 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#7 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 6 (Thread 0x7f72397b7700 (LWP 30254)):
#0 0x00007f72a4588fc3 in poll () from /lib64/libc.so.6
#1 0x00007f72a0fbded4 in __libc_res_nsend () from /lib64/libresolv.so.2
#2 0x00007f72a0fba76a in __libc_res_nquery () from /lib64/libresolv.so.2
#3 0x00007f72a0fbad29 in __libc_res_nquerydomain () from /lib64/libresolv.so.2
#4 0x00007f72a0fbb9cf in __libc_res_nsearch () from /lib64/libresolv.so.2
#5 0x00007f729adc37a7 in _nss_dns_gethostbyname4_r () from /lib64/libnss_dns.so.2
#6 0x00007f72a457a4c3 in gaih_inet () from /lib64/libc.so.6
#7 0x00007f72a457cb20 in getaddrinfo () from /lib64/libc.so.6
#8 0x00007f72a56fc782 in Curl_getaddrinfo_ex () from /usr/lib64/libcurl.so.4
#9 0x00007f72a56f1d42 in Curl_getaddrinfo () from /usr/lib64/libcurl.so.4
#10 0x00007f72a56c9e77 in Curl_resolv () from /usr/lib64/libcurl.so.4
#11 0x00007f72a56ca138 in Curl_resolv_timeout () from /usr/lib64/libcurl.so.4
#12 0x00007f72a56d8d88 in ?? () from /usr/lib64/libcurl.so.4
#13 0x00007f72a56ddb79 in ?? () from /usr/lib64/libcurl.so.4
#14 0x00007f72a56de76e in Curl_connect () from /usr/lib64/libcurl.so.4
#15 0x00007f72a56e69b0 in Curl_perform () from /usr/lib64/libcurl.so.4
#16 0x0000000000ae6e3d in HttpClient::svc() ()
#17 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#18 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#19 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 5 (Thread 0x7f721af6f700 (LWP 30255)):
#0 0x00007f72a455691d in nanosleep () from /lib64/libc.so.6
#1 0x000000000098cb8a in Sleep(unsigned long) ()
#2 0x000000000098b87d in DynResource::svc() ()
#3 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#4 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#5 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 4 (Thread 0x7f71fc727700 (LWP 30256)):
#0 0x00007f72a455691d in nanosleep () from /lib64/libc.so.6
#1 0x000000000098cb8a in Sleep(unsigned long) ()
#2 0x0000000000a61516 in PlayerOpLogThread::svc() ()
#3 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#4 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#5 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 3 (Thread 0x7f71ddedf700 (LWP 30257)):
#0 0x00007f72a4592c73 in epoll_wait () from /lib64/libc.so.6
#1 0x00007f72a51f334f in Epoll_Reactor::run_reactor_event_loop() () from /usr/local/net_manager-0.0.2/lib/libnet_manager.so.0.0.2
#2 0x00007f72a51f2523 in Net_Thread::svc() () from /usr/local/net_manager-0.0.2/lib/libnet_manager.so.0.0.2
#3 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#4 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#5 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7f71bf697700 (LWP 30258)):
#0 0x00007f72a4592c73 in epoll_wait () from /lib64/libc.so.6
#1 0x00007f72a51f334f in Epoll_Reactor::run_reactor_event_loop() () from /usr/local/net_manager-0.0.2/lib/libnet_manager.so.0.0.2
#2 0x00007f72a51f2523 in Net_Thread::svc() () from /usr/local/net_manager-0.0.2/lib/libnet_manager.so.0.0.2
#3 0x00007f72a5494b45 in utils::Task_Base::thread_proc(void*) () from /usr/local/utils-0.0.1/lib/libutils.so.0.0.1
#4 0x00007f72a4295851 in start_thread () from /lib64/libpthread.so.0
#5 0x00007f72a459267d in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7f72a60ae7e0 (LWP 30222)):
#0 0x00007f72a4584c95 in _xstat () from /lib64/libc.so.6
#1 0x00007f72a45483e0 in __tzfile_read () from /lib64/libc.so.6
#2 0x00007f72a4547864 in tzset_internal () from /lib64/libc.so.6
#3 0x00007f72a4547b20 in tzset () from /lib64/libc.so.6
#4 0x00007f72a4546699 in timelocal () from /lib64/libc.so.6
#5 0x0000000000b0b08d in Achieve::GetRemainTime(AchieveTemplate*) ()
#6 0x0000000000b115ca in Achieve::update() ()
#7 0x0000000000a197ce in Player::update() ()
#8 0x0000000000b1b272 in PlayerMng::Tick() ()
#9 0x0000000000a73105 in GameServer::FrameTick(unsigned int) ()
#10 0x0000000000a6ff80 in GameServer::run() ()
#11 0x0000000000a773a1 in main ()
[root@AY130816144542124256Z gameserver]# ps -eLo pid,lwp,pcpu | grep 30222
30222 30222 31.4
30222 30251 0.0
30222 30252 0.0
30222 30253 0.0
30222 30254 0.0
30222 30255 0.0
30222 30256 1.2
30222 30257 1.2
30222 30258 1.0
多组数据显示表明我们的主逻辑线程的确占用的cpu很高,发现其实在Achieve::update() 的时候做了太多没有用的判断,并且可以减少循环进入的次数的,所以我在这里进行了优化
后来用了一下iptraf命令查看了网络流量:
第一项:IP流量监控
第二项:常规查看网卡流量状态。只查看各网卡的总流量
第三项:详细查看网卡流量状态。比如按TCP,UDP,ARP等协议查看
选all interfaces,查看所有网卡接口
界面分上下两部分,上部分可详细显示哪个与之相连的IP,发了多少包,即时流量是多少,下部分,可以显示udp等信息。
显示连接本地服务器的所有连接流量情况
另外不得不提到另外一个命令sar:
sar有很多用途,如果要来监控网络流量,使用下面的命令行方式:
sar -n DEV interval count
其中,interval是统计时间间隔,以秒为单位;count是总共统计几次,如果为0就不断的统计直到 Ctrl+C 打断,否则执行count次就退出。
比如:sar -n DEV 1 4
比如:sar -n DEV 10 0
IFACE:LAN接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
sar -n DEV -u 1 10
07:22:01 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:02 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:02 PM eth0 2.47 0.00 0.11 0.00 0.00 0.00 0.00
07:22:02 PM eth1 80.25 22.22 3.53 3.52 0.00 0.00 0.00
07:22:02 PM CPU %user %nice %system %iowait %steal %idle
07:22:03 PM all 1.85 0.00 1.06 0.00 0.00 97.09
07:22:02 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:03 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:03 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:03 PM eth1 66.67 19.75 2.95 3.22 0.00 0.00 0.00
07:22:03 PM CPU %user %nice %system %iowait %steal %idle
07:22:04 PM all 2.12 0.00 1.06 0.00 0.00 96.82
07:22:03 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:04 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:04 PM eth0 7.32 4.88 0.65 0.38 0.00 0.00 0.00
07:22:04 PM eth1 85.37 28.05 4.18 3.88 0.00 0.00 0.00
07:22:04 PM CPU %user %nice %system %iowait %steal %idle
07:22:05 PM all 3.96 0.00 2.64 0.00 0.00 93.40
07:22:04 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:05 PM lo 412.50 412.50 104.44 104.44 0.00 0.00 0.00
07:22:05 PM eth0 13.75 12.50 1.32 1.26 0.00 0.00 0.00
07:22:05 PM eth1 903.75 707.50 174.12 62.42 0.00 0.00 0.00
07:22:05 PM CPU %user %nice %system %iowait %steal %idle
07:22:06 PM all 5.25 0.00 4.46 2.10 0.00 88.19
07:22:05 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:06 PM lo 849.41 849.41 154.54 154.54 0.00 0.00 0.00
07:22:06 PM eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:06 PM eth1 1287.06 1337.65 84.48 461.76 0.00 0.00 0.00
07:22:06 PM CPU %user %nice %system %iowait %steal %idle
07:22:07 PM all 1.85 0.00 1.06 0.00 0.00 97.09
07:22:06 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:07 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:22:07 PM eth0 4.94 0.00 0.22 0.00 0.00 0.00 0.00
07:22:07 PM eth1 97.53 19.75 4.32 3.18 0.00 0.00 0.00
07:22:07 PM CPU %user %nice %system %iowait %steal %idle
07:22:08 PM all 1.58 0.00 1.32 0.00 0.00 97.11
07:22:07 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:22:08 PM lo 4.94 4.94 0.31 0.31 0.00 0.00 0.00
07:22:08 PM eth0 1.23 0.00 0.06 0.00 0.00 0.00 0.00
07:22:08 PM eth1 67.90 24.69 3.02 3.94 0.00 0.00 0.00
Average: CPU %user %nice %system %iowait %steal %idle
Average: all 3.63 0.00 2.55 0.84 0.00 92.98
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: lo 212.61 212.61 50.54 50.54 0.00 0.00 0.00
Average: eth0 42.79 41.70 3.27 41.84 0.00 0.00 0.00
Average: eth1 492.48 432.48 53.63 110.40 0.00 0.00 0.00
浏览量:3
下载量:0
时间:
时在正常使用电脑时,我们会感觉电脑速度明显变慢,打开任务管理器发现CPU占用率一直在100%,那么CPU的占用率百分百这种情况该怎么办,下面是读文网小编带来的关于解决系统进程CPU占用率100%的情况的内容,欢迎阅读!
正常软件造成CPU占用100%
很多软件其实和Windows系统都存在一定的兼容性问题,在运行时就可能导致某一个软件就大量占用处理器。因此首先我们需要进入“任务管理器”中,查看到底是哪个进程占用了大量的处理器时间,从这里的进程名称,我们一般能分辨出这个进程属于哪款软件。可以将其直接关闭再重启,如果反复出现这种情况,还是建议将软件卸载或者升级。有时系统启动软件过多也可能造成这种局面,可在“运行”中输入“msconfig”,在启动项里将不需要的软件去掉。
驻留软件太多影响电脑速度
病毒、木马造成CPU占用100%
病毒和木马是最容易造成处理器占用率100%的元凶,它们可能感染诸如“svchost.exe、Services.exe”这样的关键程序,也可能感染关键的系统进程,最终导致故障发生。因此如果在任务管理器里发现某个进程占用处理器过高,但又不清楚这个进程到底是什么,最好重启一次电脑后,对电脑进行全面杀毒扫描
杀毒软件造成CPU占用100%
除了病毒,其实杀毒软件自身也会造成这种状况,现在的杀毒软件一般都加入了对网页、邮件、个人隐私的即时监控功能,一旦用户打开了较多的页面或者邮件,杀毒软件就会进行大量的扫描,如果用户的电脑性能一般,就可能造成处理器占用率达到100%。用户可以在杀毒软件里将平时用不着的功能关闭掉。
杀毒软件造成CPU使用率占用100%
有时单击一个较大的AVI视频文件后,可能会出现系统假死现象,并且造成exploere.exe进程的使用率100%,这是因为系统要先扫描该文件,并检查文件所有部分,建立索引。如果文件较大就会需要较长时间并造成CPU占用率100%。解决方法:右键单击保存视频文件的文件夹,选择“属性—>常规—>高级”,去掉“为了快速搜索,允许索引服务编制该文件夹的索引”前面复选框的对钩即可。
浏览器假死造成CPU占用100%
一些老旧的浏览器,比如IE6之类,如果同时打开较多的页面,也会造成系统假死,处理器占用率提高。这种情况产生的原因比较复杂,但如果用户的电脑内存较大,可以使用RAMDISK这样的软件虚拟出磁盘空间,再将浏览器的缓存设定到这个虚拟磁盘上,能一定程度上缓解状况。
AVI文件造成CPU占用100%
有时Word的拼写和语法检查也可造成处理器占用率偏高,只要打开Word的“工具—选项”,进入“拼写和语法”选项卡,将其中的“键入时检查拼写”和“键入时检查语法”两项前面的复选框中的钩去掉即可。
较大Word文件造成CPU过高
有时Word的拼写和语法检查也可造成处理器占用率偏高,只要打开Word的“工具—选项”,进入“拼写和语法”选项卡,将其中的“键入时检查拼写”和“键入时检查语法”两项前面的复选框中的钩去掉即可。
网络连接导致CPU占用100%
由网络连接导致的故障比较隐蔽,可能用户的电脑一切正常,也没有病毒或者木马,但由于同一个局域网中的电脑中了病毒,向用户电脑端口发送大量的请求,也会造成用户电脑处理器占用偏高。一般防火墙软件能拦截这种请求,如果用户发现防火墙无法奏效,除了及时升级防火墙,有条件也可检查下同一个局域网下的电脑。
CPU占用100%
上面列举CPU占用率100%的所有情况,以后在电脑运行缓慢,CPU占用100%时,我们可以按照上面的来检查导致自己电脑CPU占用率100%的原因。
浏览量:3
下载量:0
时间: