为您找到与双核心四线程是什么意思相关的共33个结果:
cpu双核心四线程什么意思,下面是读文网小编带来的关于cpu双核心四线程什么意思:的内容,欢迎阅读!
1:什么是超线程技术?超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。因此支持Intel超线程技术的cpu,打开超线程设置,允许超线程运行后,在操作系统中看到的cpu数量是实际物理cpu数量的两倍,就是1个cpu可以看到两个,两个可以看到四个。
有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel,Windows 7,Windows 8
浏览量:3
下载量:0
时间:
很多网友问cpu线程多有什么好处,下面是读文网小编带来的关于cpu线程多有什么好处的内容,欢迎阅读!
Rock 微处理器是升阳电脑计划开发的多线程(多执行绪), 多核心微处理器。这款处理器拥有4个独立的CPU核心,而每个核心又有独立的4个“处理引擎”,再加上同步多线程(SMT)技术,每颗处理器将拥有32个逻辑线程。它将会是多颗处理芯片的服务器架构,可以由多块多核心处理器又再组成对称多处理机(SMP)系统,执行SPARC v9 指令集。
Rock 微处理器可以和现有的UltraSPARC处理器同时工作,而后者则作为协处理器。Rock 微处理器将有多种版本,包括针对单路或多路服务器。规格方面,Rock 微处理器将和AMD的Opteron系列处理器非常相近。与UltraSPARC T1不同的,Rock重视且强化浮点运算的能力。另外根据升阳电脑的透露,Rock上将具有一种Hardware Scout(硬件侦察)功能,是以多执行绪式的硬件线路设计让Rock具有预先提取(prefetching)的能力。Rock 微处理器锁定在传统资料运算工作,如数据库执行,浮点密集的高性能计算的工作。Rock处理器将使用65纳米制程。Rock看来将成为升阳电脑在SMP架构处理器上的接替者,Rock不是用来接替UltraSPARC T1,预计会取代现有的UltraSPARC III、UltraSAPRC IV。Rock 微处理器预计要到2008年后才能面世。
浏览量: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作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于intel什么cpu超线程技术的内容,欢迎阅读!
CPU超线程就是利用特殊字符的硬件指令,把两个逻辑内核模拟成物理芯片,让单个处理器能使用线程级并行计算,从而兼容多线程并行计算,从而兼容多线程操作系统和软件,使运行性能提高。
超线程技术就是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。对支持多处理器功能的应用程序而言,超线程处理器被视为两个分离的逻辑处理器。应用程序不须修正就可使用这两个逻辑处理器。同时,每个逻辑处理器都可独立响应中断。
第一个逻辑处理器可追踪一个软件线程,而第二个逻辑处理器则可同时追踪另一个软件线程。由于两个线程共同使用同样的执行资源,因此不会产生一个线程执行的同时,另一个线程闲置的状况。 这种方式将会大为提升每个实体处理器中的执行资源使用率。尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了当前CPU的性能没有得到全部的发挥。
因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。
对比编辑采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。 虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。
当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。 英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。
也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。 需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。当前支持超线程技术的芯片组包括如:英特尔i845GE、PE及矽统iSR658 RDRAM、SiS645DX、SiS651可直接支持超线程;英特尔i845E、i850E通过升级BIOS后可支持;威盛P4X400、P4X400A可支持,但未获得正式授权。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x版本以及以后的版本也支持超线程技术。虽然单线程芯片每秒钟能处理成千上万条指令,但是在任一时刻只能对一条指令进行操作。而“超线程”技术可以使芯片同时进行多线程处理,使芯片性能得到提升。如果单单是CPU支持超线程技术而没有芯片组、软件进行协同作战的话,超线程技术也就是一句空话而已。
浏览量:3
下载量:0
时间:
中央处理器(CentralProcessingUnit)的缩写,即CPU,CPU是电脑中的核心配件,只有火柴盒那么大,几十张纸那么厚,但它却是一台计算机的运算核心和控制核心。下面是读文网小编带来的关于什么是Intel双核心处理器的内容,欢迎阅读!
目前Intel推出的双核心处理器有Pentium D和Pentium Extreme Edition,同时推出945/955芯片组来支持新推出的双核心处理器,采用90nm工艺生产的这两款新推出的双核心处理器使用是没有针脚的LGA 775接口,但处理器底部的贴片电容数目有所增加,排列方式也有所不同。 桌面平台的核心代号Smithfield的处理器,正式命名为 Pentium D处理器,除了摆脱阿拉伯数字改用英文字母来表示这次双核心处理器的世代交替外,D的字母也更容易让人联想起Dual-Core双核心的涵义。
Intel的双核心构架更像是一个双CPU平台,Pentium D处理器继续沿用Prescott架构及90nm生产技术生产。Pentium D内核实际上由于两个独立的2独立的Prescott核心组成,每个核心拥有独立的1MB L2缓存及执行单元,两个核心加起来一共拥有2MB,但由于处理器中的两个核心都拥有独立的缓存,因此必须保正每个二级缓存当中的信息完全一致,否则就会出现运算错误。
为了解决这一问题,Intel将两个核心之间的协调工作交给了外部的MCH(北桥)芯片,虽然缓存之间的数据传输与存储并不巨大,但由于需要通过外部的MCH芯片进行协调处理,毫无疑问的会对整个的处理速度带来一定的延迟,从而影响到处理器整体性能的发挥。由于采用Prescott内核,因此Pentium D也支持EM64T技术、XD bit安全技术。
值得一提的是,Pentium D处理器将不支持Hyper-Threading技术。原因很明显:在多个物理处理器及多个逻辑处理器之间正确分配数据流、平衡运算任务并非易事。比如,如果应用程序需要两个运算线程,很明显每个线程对应一个物理内核,但如果有3个运算线程呢?因此为了减少双核心Pentium D架构复杂性,英特尔决定在针对主流市场的Pentium D中取消对Hyper-Threading技术的支持。
同出自Intel之手,而且Pentium D和Pentium Extreme Edition两款双核心处理器名字上的差别也预示着这两款处理器在规格上也不尽相同。其中它们之间最大的不同就是对于超线程(Hyper-Threading)技术的支持。Pentium D不能支持超线程技术,而Pentium Extreme Edition则没有这方面的限制。在打开超线程技术的情况下,双核心Pentium Extreme Edition处理器能够模拟出另外两个逻辑处理器,可以被系统认成四核心系统。目前Intel推出的台式机双核心处理器有Pentium D、Pentium EE(Pentium Extreme Edition)和Core Duo三种类型,三者的工作原理有很大不同。
浏览量: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信息详解(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
浏览量:3
下载量: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作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于超线程技术是CPU的 和主板无关吗的内容,欢迎阅读!
通过超线程技术,英特尔成为第一家公司实现在一个实体处理器中,提供两个逻辑线程。后期内含超线程技术的P4处理器商标之后的Pentium D纵使不支持超线程技术,但就集成了两个实体核心,所以仍会见到两个逻辑线程。超线程的未来发展,是提升处理器的逻辑线程,英特尔有计划将8核心的处理器,加以配合超线程技术,使之成为16个逻辑线程的产品。英特尔表示,超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升。但实际上,在某些程序或未对多线程编译的程序而言,超线程反而会降低效能。除此之外,超线程技术亦要操作系统的配合,普通支持多处理器技术的系统亦未必能充分发挥该技术。例如Windows 2000,英特尔并不鼓励使用者在此系统中利用超线程。原先不支持多核心的Windows XPHome Edition却支持超线程技术。
尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。
另外就是目前大超线程芯片多数执行线程缺乏ILP(Instruction-Level Parallelism,指令级别并行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把一个物理内核模拟成两个逻辑内核,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行速度。采用超线程即是可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。
而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
浏览量:2
下载量:0
时间:
目前网络上最猖獗的病毒估计非木马程序莫数了,特别是在过去的2004年木马程序的攻击性也有了很大的加强,在进程隐藏方面,做了较大的改动,不再采用独立的EXE可执行文件形式,而是改为内核嵌入方式,下面由读文网小编给你做出详细的查找和清除插入式病毒木马介绍!希望对你有帮助!
最近新出现的一种木马。它的主程序成功加载后,会将自身做为线程插入到系统进程SPOOLSV.EXE中,然后删除系统目录中的病毒文件和病毒在注册表中的启动项,以使反病毒软件和用户难以查觉,然后它会监视用户是否在进行关机和重启等操作,如果有,它就在系统关闭之前重新创建病毒文件和注册表启动项。下面的几招可以让它现出原形(下面均以Win XP系统为例):
1)对照备份的常用进程
大家平时可以先备份一份进程列表,以便随时进行对比查找可疑进程。方法如下:开机后在进行其他操作之前即开始备份,这样可以防止其他程序加载进程。在运行中输入“cmd”,然后输入“tasklist /svc >X:processlist.txt”(提示:不包括引号,参数前要留空格,后面为文件保存路径)回车。这个命令可以显示应用程序和本地或远程系统上运行的相关任务/进程的列表。输入“tasklist /?”可以显示该命令的其它参数。
2)对照备份的系统DLL文件列表
对于没有独立进程的DLL木马怎么办吗?既然木马打的是DLL文件的主意,我们可以从这些文件下手,一般系统DLL文件都保存在system32文件夹下,我们可以对该目录下的DLL文件名等信息作一个列表,打开命令行窗口,利用CD命令进入system32目录,然后输入“dir *.dll>X:listdll.txt”敲回车,这样所有的DLL文件名都被记录到listdll.txt文件中。日后如果怀疑有木马侵入,可以再利用上面的方法备份一份文件列表“listdll2.txt”,然后利用“UltraEdit”等文本编辑工具进行对比;或者在命令行窗口进入文件保存目录,输入“fc listdll.txt listdll2.txt”,这样就可以轻松发现那些发生更改和新增的DLL文件,进而判断是否为木马文件。
3)对照已加载模块
频繁安装软件会使system32目录中的文件发生较大变化,这时可以利用对照已加载模块的方法来缩小查找范围。在“开始/运行”中输入“msinfo32.exe”打开 “系统信息”,展开“软件环境/加载的模块”,然后选择“文件/导出”把它备份成文本文件,需要时再备份一个进行对比即可。
4)查看可疑端口
所有的木马只要进行连接,接收/发送数据则必然会打开端口,DLL木马也不例外,这里我们使用netstat命令查看开启的端口。我们在命令行窗口中输入“netstat -an”显示出显示所有的连接和侦听端口。Proto是指连接使用的协议名称,Local Address是本地计算机的IP地址和连接正在使用的端口号,Foreign Address是连接该端口的远程计算机的IP地址和端口号,State则是表明TCP连接的状态。Windows XP所带的netstat命令比以前的版本多了一个-O参数,使用这个参数就可以把端口与进程对应起来。输入“netstat /?”可以显示该命令的其它参数。
接着我们可以通过分析所打开的端口,将范围缩小到具体的进程上,然后使用进程分析软件,例如《Windows优化大师》目录下的WinProcess.exe程序,来查找嵌入其中的木马程序。有些木马会通过端口劫持或者端口重用的方法来进行通信的,一般它们会选择139、80等常用端口,所以大家分析时要多加注意。也可以利用网络嗅探软件(如:Commview)来了解打开的端口到底在传输些什么数据。
看了“查找和清除线程插入式病毒木马介绍”文章的还看了:
浏览量:3
下载量:0
时间:
超线程是Intel 所研发的一种技术,于2002年发布。超线程能提升处理器吗,下面是读文网小编带来的关于使用超线程提升处理器性能的内容,欢迎阅读!
处理器设计师总是关注于不同的性能提升策略,为的是在每个时钟周期内完成尽可能多的计算。更快的频率、更大的数据路径以及不同的指令集方式都提升了性能。但是,性能提升最可能引起误解的一个方面就是超线程对处理器性能的影响。
超线程能够提升处理器效率已经得到了证实,但是其并不适用于所有场景,而且现代处理器设计可能会令超线程成为明日黄花。
超线程工作原理
传统的处理器队列指令在传输到处理器的执行引擎之前会通过流水线架构。应用设计以及需求差异总是会在处理器的指令管道中留有空隙,导致存在空闲的处理器时钟周期。糟糕的程序设计可能会浪费时钟周期并降低处理器性能。
为了优化处理器架构并提升多任务处理的可能性,处理器设计人员增加了与一级管道共享执行引擎的二级管道。设计人员想让第二个线程或者任务的相关指令在单个管道中排队,当第一个指令管道空闲时再通过执行核心运行这些指令。Intel开发了超线程技术,增强了计算机系统上的多线程并行处理。
在处理器核心中包括第二级指令管道,操作系统会识别到两个独立的处理器。能够将活动分解为单独任务的应用程序能够利用处理器超线程技术。单独的指令序列帮助处理器调度工作负载以有效地使用其指令引擎,这反过来提升了核心的计算能力。
然而,处理器核心仍旧只有一个执行引擎,因此超线程带来的性能提升取决于正在被调度的工作负载的设计与实现方式。性能改善从不会超过通过增加第二个核心所带来的提升,增加第二个核心通常会使处理器的计算资源成倍增加。
在实现超线程之前需要具备哪些条件
处理器、BIOS、操作系统以及工作负载构成了超线程服务器应具备的四大基本元素。当代大多数操作系统能够支持超线程: 2002年Intel在至强处理器中就引入了目前已经很完善的超线程技术,现在Itanium以及Atom处理器也支持超线程。
然而,处理器需要特定的软硬件元素,包括服务器主板对BIOS提供支持。超线程的成熟特性几乎保证了对BIOS的合理支持,通过设置BIOS允许系统技术人员启用超线程及相关的活动。
由于OS在指令队列中解析工作负载任务并处理任务调度,因此操作系统也必须支持超线程。目前,大多数企业级操作系统,包括Windows Server 2012以及SuSE和Red Hat Linux的某些新的发行版都支持HT和SMT.检查操作系统文档以确认HT支持所有数据中心平台。
最后,应用设计本身也影响超线程。设计为能够借助超线程优势的SMT应用要比只是部署在启用超线程服务器的应用性能更好。因为处理器版本、BIOS版本、OS版本以及应用设计都影响超线程,因此很难准确判断对性能有多大提升。
超线程如何影响虚拟服务器
超线程通常提升了单核处理器的性能,但不幸的是,处理器性能提升并不等于更不可能超越多核的性能优势。你无法基于核心或者插槽来选择启用或者禁用超线程,而且在某些情况下,超线程有可能会对处理器虚拟化带来不良影响。因此,很多管理员选择禁用超线程。
超线程技术增强了处理器组织及调度应用任务的方式,提升了性能。然而现代企业服务器至少使用有8到10个核心的多核处理器。在大多数情况下和超线程相比,可用的计算资源能够带来更好的性能提升。超线程还可能会对处理器虚拟化的方式带来不良印象。
例如,当启用超线程时虚拟化特性比如CPU关联性并非总是能够很好地运行。超线程在每个核心上创建了两个逻辑处理器,但是这些逻辑处理器仍旧共享物理核心的计算资源。因此,当虚拟机或者单个SMP虚拟机试图使用位于同一个物理核心上的vCPU时可能会发生资源争用,出现性能瓶颈。
实际上,服务器上可用的核心数量可能会导致超线程浪费计算资源。如果一台服务器包括4颗10核处理器,那么一共有40个核心,运行在Windows Server 2008 R2的Hyper-V服务器支持64个逻辑处理器。如果启用超线程,服务器将提供80个逻辑处理器,这样就有16颗逻辑处理器处于空闲状态,而且几乎浪费了整个处理器插槽。在这种情况下超线程带来的性能提升不会超过物理核心所增加的计算能力。
浏览量:2
下载量:0
时间:
CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能。下面是读文网小编带来的关于多核和超线程的区别的内容,欢迎阅读!
多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。
他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。
浏览量:2
下载量:0
时间:
多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。下面是读文网小编带来的关于同步多线程是什么的内容,欢迎阅读!
多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理(Chip-level multithreading)或同时多线程(Simultaneous multithreading)处理器。
在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理(Multithreading)”。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程(台湾译作“执行绪”),进而提升整体处理性能。
浏览量:3
下载量:0
时间:
Intel推出超线程技术频率最高的P4 3.06GHz一枝独秀,率先支持超线程技术。下面是读文网小编带来的关于用好CPU的超线程技术的内容,欢迎阅读!
超线程就是让操作系统相信你有两个处理器,也就是一个CPU当两个用的技术。要实现超线程技术需要具备三个条件。
1.处理器支持;
2.主板支持,包括老主板升级BIOS支持;
3.操作系统支持(Windows XP能很好支持,Windows 2K也可支持,Windows 98,Windows NT不支持)。
这在当初2002年底推出的时候没有多少人的机器能满足条件,但是目前新配机器的用户应该很容易满足这样的要求。如果您的机器满足这样的条件,不妨继续看下去。
超线程技术对性能的影响
首先我们要知道,超线程技术对性能的影响与使用的软件有直接联系,不能一概而论。有的读者以为两个处理器可以提高双倍性能,笔者要告诉大家就算真的有两个物理CPU并行工作也根本不可能有这样的提高。据Intel方面解释,超线程技术能够提高30%以上的性能。据目前测试和使用的情况来看,除非运行某些特别为超线程,多任务优化代码的软件,否则超线程对系统性能的提高比较有限。当然,因为Windows XP系统对超线程支持较好,打开超线程之后,系统整体性能会有一定提高,而且在实际使用中用户一般多项任务同时处理,在这种状态下,打开超线程对整体性能的提高还是比较明显的。
然而,如果程序只支持单线程的话,打开超线程不会有性能上的提高,而且刚刚我们提到超线程技术的两个虚拟逻辑处理器使用一套执行单元,缓存。如果两者之间产生竞争资源的情况,系统会增加一定的延迟,就有可能产生打开超线程之后性能反而下降的情况。因为超线程本身是由服务器领域转化到桌面系统的,甚至有的软件,有的硬件还可能和超线程产生兼容性问题,如果打开超线程,软件就不能运行,或者运行不正常。据我们了解,一些PC供应商,比如DELL,在整机出货的时候默认关闭超线程,就是考虑到可能存在一定兼容性问题,而且性能提高有限甚至有少数反而下降。
当然总的来说,超线程技术带来的是正面的影响,能够在不提高系统频率的情况下提高性能,是当前CPU设计的大势所趋。随着软件的成熟,系统的完善,如今的超线程技术已经基本不会产生多大的兼容性问题了,所以笔者建议如果大家的机器能够打开超线程,又是使用Windows XP操作系统,还是打开超线程比较合算。
当主板BIOS中打开超线程支持之后,系统启动时有的主板就能显示对超线程的支持,认出两个处理器,如下图。
进入系统之后更是可以在设备管理器里面认出两个处理器。
更加直观的方法是打开任务管理器之后,进入性能选项卡,可以看到CPU使用记录栏里面有两个CPU的使用记录,如下图。
完美控制超线程对性能的影响
笔者刚刚的分析中提到,有些特定的应用程序在打开超线程的时候会变慢,有的甚至运行不正常,如果遇到这种问题,你怎么办?通常的办法只能是在BIOS里面关闭超线程,代价就是系统大多数程序以及系统本身效率下降,虽然幅度不大,但是对性能的影响仍然存在。特别是一些专门使用多媒体压缩的用户,哪怕是5%以内的性能提高都可以使压缩时间大为缩短。而且超线程的确在这一方面特别有效。那么有没有方法使得你又享受超线程带来的快感,同时减小它带来的不良影响呢?
首先我们自然而然会想到在操作系统中对那些受超线程不良影响的程序指定使用单处理器模式,这是完全可行的。
在任务管理器里面找到如上图的设置附属,选择CPU0,不要选CPU1,如下图所示。这样这个任务就被分配给了真实的CPU,而不是虚拟的CPU1。
如果你具备了双CPU,又都支持超线程,那么系统里面会出现4个CPU,在这里,前两个是真实的,后两个是虚拟的,大家不要搞错。
这种方法虽然控制了超线程的应用,但是存在一些问题:
1.系统自带的任务管理器太过简单,而且每次都要手动选择,它不会记住你的选择。
2.一些全屏运行的程序在切换时会发生锁死。
笔者介绍一种更有效的工具:THG Task Assignment Manager。这本来是一款用在多处理器系统里面分配任务的工具,但是因为超线程系统也有两个处理器,加上它可以解决上文所说的问题,所以这里成为任务管理器的替代者很合适。下载之后,直接解开运行,看到程序主界面。
这个面板就是用来分配处理器的,只要选中一个任务,点下面的分配就可以调出分配窗口,这里和系统自带的区别不大。
第二个面板才是这款软件的重点,它可以指定分配方案,并且记住,下次只要再开程序还是会产生效果。分配方法是:用Browse找到要分配的程序,点Add后,指定一个CPU。
实际分配方案
按笔者上面提到的方法,我们把我们认为可能受到超线程不利影响的程序都分配给CPU0来执行,那么我们可以在不关闭超线程的情况下,降低超线程带来的负面影响。根据实际测试,使用自己分配的方案可以在超线程起反作用的时候提高性能。
至于到底应该给什么程序分配单线程,什么程序分配超线程,具体情况只有具体分析。每一款程序不同,每一台机器也不一样,大家要自己摸索结论了。笔者这里提供一些经验。
1.对于打开超线程后产生问题的软件,尝试仅用物理处理器。
2.如果你经常频繁使用两款软件,比如你一边压mp3,一边写文章,又如一边扫毒,一边上网。这种情况你可以尝试分别分配两个处理器给不同工作,这样比起操作系统自己分配要好。
3.有一些用户经常整夜压音乐,压MPEG 4或者其他格式电影。这种情况下可以自己作评测:用一段测试片断,分别运行在仅用物理处理器和使用系统默认自动分配任务两种状态,看哪一个更加快。这样可以为你节省很多时间。
4.有一些用户专门运行科学计算程序,比如MATLAB,比如MATHEMATICA,还有很多行业软件,比如电路设计软件,三维建模软件。一些著名软件已经越来越多地为超线程优化,但是仍有不少软件不能很好支持超线程。这些软件您更有必要自己测试一下,因为很多时候一些程序一运行就是几天,甚至几个礼拜,对这种程序榨干系统的性能很重要。
5.对游戏用户,超线程并不会有多大帮助。
总结
超线程如今已经不是什么新鲜东西了,但是真正用好超线程仍然不简单,大多数用户仅仅知道让操作系统自动分配任务。通过笔者今天的分析,大家应该更加清楚超线程的优点和缺点,使用笔者推荐的软件和任务分配方案,大家可以做到对自己系统的微调。当然这里笔者只是提出建议,真正的方案一定要大家自己尝试了。希望大家能够利用好超线程,不为新技术白白付钱。
最后笔者提一句:如果你超前于大众,已经使用了多处理器系统,那么本文的方法对你更加有启发作用,你可以尝试多种分配方案,找到适合自己的最佳方案!
浏览量:2
下载量:0
时间:
中央处理器(CentralProcessingUnit)的缩写,即CPU,CPU是电脑中的核心配件,只有火柴盒那么大,几十张纸那么厚,但它却是一台计算机的运算核心和控制核心。下面是读文网小编带来的关于cpu 核和线程的区别的内容,欢迎阅读!
CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。指令是计算机规定执行操作的类型和操作数的基本命令。指令是由一个字节或者多个字节组成,其中包括操作码字段、一个或多个有关操作数地址的字段以及一些表征机器状态的状态字以及特征码。有的指令中也直接包含操作数本身。
提取第一阶段,提取,从存储器或高速缓冲存储器中检索指令(为数值或一系列数值)。由程序计数器(Program Counter)指定存储器的位置。(程序计数器保存供识别程序位置的数值。换言之,程序计数器记录了CPU在程序里的踪迹。)
解码解码线路CPU根据存储器提取到的指令来决定其执行行为。在解码阶段,指令被拆解为有意义的片段。根据CPU的指令集架构(ISA)定义将数值解译为指令。一部分的指令数值为运算码(Opcode),其指示要进行哪些运算。其它的数值通常供给指令必要的信息,诸如一个加法(Addition)运算的运算目标。
核cpu多线程相关
浏览量:3
下载量:0
时间:
其实CPU超线程这个含义大部分网友还是很不清楚的,下面是读文网小编带来的关于什么叫cpu超线程的内容,欢迎阅读!
CPU包括运算逻辑部件、寄存器部件和控制部件等。
逻辑部件英文Logic components;运算逻辑部件。可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。
寄存器寄存器部件,包括寄存器、专用寄存器和控制寄存器。 通用寄存器又可分定点数和浮点数两类,它们用来保存指令执行过程中临时存放的寄存器操作数和中间(或最终)的操作结果。 通用寄存器是中央处理器的重要部件之一。
控制部件英文Control unit;控制部件,主要是负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。其结构有两种:一种是以微存储为核心的微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。微存储中保持微码,每一个微码对应于一个最基本的微操作,又称微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。
中央处理器在对指令译码以后,即发出一定时序的控制信号,按给定序列的顺序以微周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。简单指令是由(3~5)个微操作组成,复杂指令则要由几十个微操作甚至几百个微操作组成。
浏览量:2
下载量:0
时间:
线程数是什么,CPU的线程数是什么呢?下面是读文网小编带来的关于什么是cpu线程数的内容,欢迎阅读!
CPU包括运算逻辑部件、寄存器部件和控制部件等。
逻辑部件英文Logic components;运算逻辑部件。可以执行定点或浮点算术运算操作、移位操作以及逻辑操作,也可执行地址运算和转换。
寄存器寄存器部件,包括寄存器、专用寄存器和控制寄存器。 通用寄存器又可分定点数和浮点数两类,它们用来保存指令执行过程中临时存放的寄存器操作数和中间(或最终)的操作结果。 通用寄存器是中央处理器的重要部件之一。
控制部件英文Control unit;控制部件,主要是负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。其结构有两种:一种是以微存储为核心的微程序控制方式;一种是以逻辑硬布线结构为主的控制方式。微存储中保持微码,每一个微码对应于一个最基本的微操作,又称微指令;各条指令是由不同序列的微码组成,这种微码序列构成微程序。
中央处理器在对指令译码以后,即发出一定时序的控制信号,按给定序列的顺序以微周期为节拍执行由这些微码确定的若干个微操作,即可完成某条指令的执行。简单指令是由(3~5)个微操作组成,复杂指令则要由几十个微操作甚至几百个微操作组成。
浏览量:3
下载量:0
时间:
为了更加了解自己的电脑,就希望能够知道电脑中的CPU线程数到底有多少。那么Win10系统怎么查看CPU线程数呢?接下来大家跟着读文网小编一起来了解一下Win10系统查看CPU线程数的解决方法吧。
1、Win10任务栏空白处单击鼠标右键,菜单中点击选择“任务管理器”。
2、在任务管理器窗口切换至“性能”,对着CPU利用率图形界面,单击鼠标右键,鼠标指向菜单中的“将图形更改为”,点击选择次级菜单中的“逻辑处理器”。
3、随后出现几个图形,就是几个线程。
浏览量:3
下载量:0
时间: