linux查询cpu多少核

linux查询cpu多少核,第1张

1. 查看物理CPU的个数

#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文件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7239367.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存