
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
2. 查看逻辑CPU的个数
#cat /proc/cpuinfo |grep "processor"|wc -l
3. 查看CPU是几核
#cat /proc/cpuinfo |grep "cores"|uniq
4. 查看CPU的主频
#cat /proc/cpuinfo |grep MHz|uniq
如何获得CPU的详细信息:
linux命令:cat /proc/cpuinfo
用命令判断几个物理CPU,几个核等:
逻辑CPU个数:
# cat /proc/cpuinfo | grep "processor" | wc -l
物理CPU个数:
# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
每个物理CPU中Core的个数:
# cat /proc/cpuinfo | grep "cpu cores" | wc -l
是否为超线程? 《Linux就该这么学》一起学习linux
如果有两个逻辑CPU具有相同的”core id”,那么超线程是打开的。
每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
# cat /proc/cpuinfo | grep "siblings"
常见Linux版本有哪些?CentOS是什么?Linux是GNU/Linux的缩写,通常指各种Linux发行版的通称。
常见的Linux厂家主要有Redhat/Novell等。
Redhat有两大Linux产品系列,其一是免费的Fedora Core系列
主要用于桌面版本,提供了较多新特性的支持。
另外一个产品系列是收费的Enterprise系列,这个系列分成:AS/ES/WS等分支。
Advanced Server,缩写即AS。AS在标准Linux内核的基础上,
做了性能上的增强,并提高了可靠性,集成了众多常见服务器的驱动程序。
可轻松识别IBM/DELL/HP等常见机架式服务器的磁盘阵列卡等设备。
AS主要版本2.x/3.x/4.x,也就是我们所说的AS3/AS4
每一个版本还有若干个升级,例如最早推出的AS4后,遇到了一些更新
此时就会发布AS4 Update1,以后还会陆续有AS4 Update2/Update3等出现
简称AS4u1/AS4u2/AS4u3等。这和微软的发布形式也是非常类似的,
微软的Windows NT4 从SP1出到SP6,Windows2000从SP1出到SP4。。。。
AS这些Update版本所包含的主要程序包版本都有一定差别,最好不要混用
否则很容易出现问题。Prima和Plesk的安装包,对于各种发行版都有了针对性的设计
在下载页面上,通常都会标识出来,支持哪些版本和哪些update的系统。
ES,是AS的精简版本。他与常见的AS系列的区别是,AS支持到4路以上CPU,
而ES只能支持两路CPU。AS和ES在大多数程序包上并无区别,
只在内核等少数软件包上有差异。
AS和ES的售价差别比较大,通常ES用在随服务器一同购买的OEM版本中
例如购买DELL服务器,搭配的Linux会是ES系列。
如果要搭配AS系列,则需要多花数千元。
WS,是ES的进一步简化版,主要针对企业内部的桌面办公市场,国内较少采用。
Redhat的Fedora Core Linux和Enterprise Linux,都需要遵循GNU协议
即需要发布自己的源代码。
所以,对于免费的Fedora Core Linux,从Redhat网站上可以直接下载ISO刻盘,
还能下载到SRPM的ISO,即程序包源码光盘。
对于收费的Enterprise Linux系列,是一款商业产品,所以网站上不能下载到ISO文件,
需要购买正式授权方可。
由于Enterprise Linux也需要遵循GNU协议,故必须发布源代码。
所以在Redhat的网站上,可以获得AS/ES/WS系列的SRPM源码ISO文件。
这些文件可以被自由的下载,修改代码,重新编译使用。
一个名为Community Enterprise Operating System的项目诞生了。
他的缩写既是CentOS。CentOS社区将Redhat的网站上的所有源代码下载下来,
进行重新编译。重新编译后,由于AS/ES/WS是商业产品,
必须将所有Redhat的Logo和标识改成自己的CentOS标识。
比如将AS4原版的SRPM源码编译后,就成为了CentOS 4.0。
AS4Update1的源码编译后,就成为了CentOS4.1。
AS4Update2的源码编译后,就成为了CentOS4.2。
同理,CentOS的3.x/4.x都对应着相应的版本。
所以我们说,CentOS就是Redhat的AS/ES/WS的免费版本。
使用CentOS,可以获得和AS/ES相同的性能和感受。
CentOS除了提供标准的编号1~4或者1~5的若干张ISO以外,
还提供了最小化1CD的Server光盘。用Server光盘安装好的系统,
就是一个最小化的Linux内核加上常用的httpd/mysql等包
不包含Xwindows桌面等对于服务器无用的软件。
Prima、Plesk、Virtuozzo和都可以安装在CentOS上。
Core,又称之为Core Dump文件,是Unix/Linux *** 作系统的一种机制,对于线上服务而言,Core令人闻之色变,因为出Core的过程意味着服务暂时不能正常响应,需要恢复,并且随着吐Core进程的内存空间越大,此过程可能持续很长一段时间(例如当进程占用60G+以上内存时,完整Core文件需要15分钟才能完全写到磁盘上),这期间产生的流量损失,不可估量。凡事皆有两面性,OS在出Core的同时,虽然会终止掉当前进程,但是也会保留下第一手的现场数据,OS仿佛是一架被按下快门的相机,而照片就是产出的Core文件。里面含有当进程被终止时内存、CPU寄存器等信息,可以供后续开发人员进行调试。
关于Core产生的原因很多,比如过去一些Unix的版本不支持现代Linux上这种GDB直接附着到进程上进行调试的机制,需要先向进程发送终止信号,然后用工具阅读core文件。在Linux上,我们就可以使用kill向一个指定的进程发送信号或者使用gcore命令来使其主动出Core并退出。如果从浅层次的原因上来讲,出Core意味着当前进程存在BUG,需要程序员修复。从深层次的原因上讲,是当前进程触犯了某些OS层级的保护机制,逼迫OS向当前进程发送诸如SIGSEGV(即signal 11)之类的信号, 例如访问空指针或数组越界出Core,实际上是触犯了OS的内存管理,访问了非当前进程的内存空间,OS需要通过出Core来进行警示,这就好像一个人身体内存在病毒,免疫系统就会通过发热来警示,并导致人体发烧是一个道理(有意思的是,并不是每次数组越界都会出Core,这和OS的内存管理中虚拟页面分配大小和边界有关,即使不出Core,也很有可能读到脏数据,引起后续程序行为紊乱,这是一种很难追查的BUG)。
说了这些,似乎感觉Core很强势,让人感觉缺乏控制力,其实不然。控制Core产生的行为和方式,有两个途径:
1.修改/proc/sys/kernel/core_pattern文件,此文件用于控制Core文件产生的文件名,默认情况下,此文件内容只有一行内容:“core”,此文件支持定制,一般使用%配合不同的字符,这里罗列几种:
%p 出Core进程的PID
%u 出Core进程的UID
%s 造成Core的signal号
%t 出Core的时间,从1970-01-0100:00:00开始的秒数
%e 出Core进程对应的可执行文件名
2.Ulimit –C命令,此命令可以显示当前OS对于Core文件大小的限制,如果为0,则表示不允许产生Core文件。如果想进行修改,可以使用:
Ulimit –cn
其中n为数字,表示允许Core文件体积的最大值,单位为Kb,如果想设为无限大,可以执行:
Ulimit -cunlimited
产生了Core文件之后,就是如何查看Core文件,并确定问题所在,进行修复。为此,我们不妨先来看看Core文件的格式,多了解一些Core文件。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)