proxy代理   soft软件   IT 业界特快   norton 诺顿病毒库   代理列表   search FTP搜索   whois IP地理位置   blog 追求完美  
money理财   life生活   RSS聚合门户   firefox WEB浏览器   免费域名   typeset 假古文   AntiVirus 反病毒   ipcn 站点导航  

« 第一次用建行网银转帐 | Main | 最新版 windump nmap 及 windump 使用方法 »

November 22, 2006

CPU SMP linux 查 CPU 个数的方法

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
https://windtear.net/archives/2006/11/22/001144.html
http://windtear.net/archives/2006/11/22/001144.html

CPU SMP linux 查 CPU 个数的方法

关键词: SMP linux 多CPU个数 超线程HT Hyper-Threading

linux 下
/proc/cpuinfo
文件会显示cpu的信息

processor 会从0开始记数 继续下去多个cpu
flags 如果有 ht 说明支持超线程技术

判断物理CPU的个数可以查看
physical id 的值
相同则为同一个物理 CPU

摘抄一些网上的相关知识:

  超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,
让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,
减少了CPU的闲置时间,提高的CPU的运行效率。

  采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。
虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。
而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。

  超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU
一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。
因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、
FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。

  虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,
每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,
并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。

  英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及
Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,
系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑 CPU中,让单线程程序不会
因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,
占用一定的资源,因此Hyper- Threading CPU运行Single Task Mode程序模式时,
有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。也就是说,
当运行单线程运用软件时,超线程技术甚至会降低系统性能,
尤其在多线程操作系统运行单线程软件时容易出现此问题。
本blog WWW

Posted by windtear at November 22, 2006 9:37 PM

本站使用中的任何问题,请与 windtear @ windtear.net 联系
Copyright© 1999-2024 Windtear. All rights reserved.