给大家带来CentOS下检察多核负载
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!1.Linux下,怎样看每一个CPU的利用率:#top-M
以后按下数字1.(大概top以后按1也一样)则显现多个CPU的信息,和内存信息:
#top-M
top-15:38:40up2days,2:05,2users,loadaverage:0.00,0.00,0.00
Tasks:138total,1running,137sleeping,0stopped,0zombie
Cpu0:0.0%us,0.0%sy,0.0%ni,100.0%id,0.0%wa,0.0%hi,0.0%si,0.0%st
Cpu1:0.0%us,0.0%sy,0.0%ni,100.0%id,0.0%wa,0.0%hi,0.0%si,0.0%st
Cpu2:0.0%us,0.0%sy,0.0%ni,100.0%id,0.0%wa,0.0%hi,0.0%si,0.0%st
Cpu3:0.0%us,0.0%sy,0.0%ni,100.0%id,0.0%wa,0.0%hi,0.0%si,0.0%st
Mem:3725.047Mtotal,263.312Mused,3461.734Mfree,45.711Mbuffers
Swap:8095.992Mtotal,0.000kused,8095.992Mfree,55.977Mcached
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
1root2001922815121224S0.00.00:00.61init
2root200000S0.00.00:00.00kthreadd
2.在Linux下,怎样确认是多核或多CPU:
#cat/proc/cpuinfo
假如有多个相似以下的项目,则为多核或多CPU:
processor:0
......
processor:1
3.怎样观察某个历程在哪一个CPU上运转:
#top-d1
以后按下f.进进topCurrentFields设置页面:
选中:j:P=Lastusedcpu(SMP)
则多了一项:P显现此历程利用哪一个CPU。
Sam经由实验发明:统一个历程,在分歧时候,会利用分歧CPUCore.这应当是LinuxKernelSMP处置的。
4.设置LinuxKernel使之撑持多Core:
内核设置时代必需启用CONFIG_SMP选项,以使内核感知SMP。
Processortypeandfeatures--->Symmetricmulti-processingsupport
观察以后LinuxKernel是不是撑持(大概利用)SMP
#uname-a
5.Kernel2.6的SMP负载均衡:
在SMP体系中创立义务时,这些义务都被放到一个给定的CPU运转行列中。一般来讲,我们没法晓得一个义务什么时候是短时间存在的,什么时候必要临时运转。因而,最后义务到CPU的分派大概其实不幻想。
为了在CPU之间保护义务负载的平衡,义务能够从头举行分发:将义务从负载重的CPU上挪动到负载轻的CPU上。Linux2.6版本的调剂器利用负载平衡(loadbalancing)供应了这类功效。每隔200ms,处置器城市反省CPU的负载是不是不平衡;假如不平衡,处置器就会在CPU之间举行一次义务平衡操纵。
这个历程的一点负面影响是新CPU的缓存关于迁徙过去的义务来讲是冷的(必要将数据读进缓存中)。
记着CPU缓存是一个当地(片上)内存,供应了比体系内存更快的会见才能。假如一个义务是在某个CPU上实行的,与这个义务有关的数据城市被放到这个CPU的当地缓存中,这就称为热的。假如关于某个义务来讲,CPU的当地缓存中没有任何数据,那末这个缓存就称为冷的。
不幸的是,坚持CPU忙碌会呈现CPU缓存关于迁徙过去的义务为冷的情形。
6.使用步伐怎样使用多Core:
开辟职员可将可并行的代码写进线程,而这些线程会被SMP操纵体系布置并发运转。
别的,Sam假想,关于必需按次实行的代码。能够将其分为多个节点,每一个节点为一个thread.并在节点间安排channel.节点间形如流水线。如许也能够年夜年夜加强CPU使用率。
比方:
游戏能够分为3个节点。
1.承受内部信息,宣称数据(1ms)
2.使用数据,物理运算(3ms)
3.将物理运算的了局展现出来。(2ms)
假如线性编程,全部流程必要6ms.
但假如将每一个节点作为一个thread。但thread间又同步实行。则全部流程只必要3ms.
声明出处:sam的手艺blog
http://blog.sina.com.cn/samzhen1977
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
给大家带来CentOS下检察多核负载
可以说自己收获很大,基本上完成了老师布置的任务,对于拔高的题目没有去做,因为我了解我的水平,没有时间和精力去做。? 一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。? Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。 选择一些适于初学者的Linux社区。 安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。 用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
页:
[1]