【原文链接】:http://blog.csdn.net/mdx20072419/article/details/7767809

http://blog.chinaunix.net/uid-22425237-id-3496577.html

-------------------------------------------------------------------------------------------------------------------------------------------------------------

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

查看CPU信息(型号)

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

查看内 存信息

# cat /proc/meminfo

-------------------------------------------------------------------------------------------------------------------------------------------------------------

查看逻辑CPU个数:

#cat /proc/cpuinfo |grep "processor"|sort -u|wc -l

24

查看物理CPU个数:

#grep "physical id" /proc/cpuinfo|sort -u|wc -l                   

2

#grep "physical id" /proc/cpuinfo|sort -u                   

physical id     : 0

physical id     : 1

查看CPU内核数:

#grep "core id" /proc/cpuinfo|sort -u|wc -l                   

8

查看每个物理CPU内核个数:

#grep "cpu cores" /proc/cpuinfo|uniq

cpu cores       : 6

每个物理CPU上逻辑CPU个数:

#grep "siblings" /proc/cpuinfo|uniq

siblings        : 12

判断是否开启了超线程:

如果多个逻辑CPU的"physical id"和"core id"均相同,说明开启了超线程

或者换句话说

逻辑CPU个数 > 物理CPU个数 * CPU内核数   开启了超线程

逻辑CPU个数 = 物理CPU个数 * CPU内核数   没有开启超线程

一次性查询所有信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/bash
 
physicalNumber=0
coreNumber=0
logicalNumber=0
HTNumber=0
 
logicalNumber=$(grep"processor"/proc/cpuinfo|sort-u|wc-l)
physicalNumber=$(grep"physical
id"

/proc/cpuinfo
|sort-u|wc-l)
coreNumber=$(grep"cpu
cores"

/proc/cpuinfo
|uniq|awk-F':''{print
$2}'
|xargs)
HTNumber=$((logicalNumber
/ (physicalNumber * coreNumber)))
 
echo"******
CPU Information ******"
echo"Logical
CPU Number  : ${logicalNumber}"
echo"Physical
CPU Number : ${physicalNumber}"
echo"CPU
Core Number     : ${coreNumber}"
echo"HT
Number           : ${HTNumber}"
 
echo"*****************************"

执行结果:

#./cpuinfo  

****** CPU Information ******

Logical CPU Number  : 24

Physical CPU Number : 2

CPU Core Number     : 6

HT Number           : 2

*****************************



-------------------------------------------------------------------------------------------------------------------------------------------------------------

查看当前操作系统内核信息

# uname -a

Linux redcat 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686 GNU/Linux

查看当前操作系统发行版信息

#cat /etc/issue

Ubuntu 9.10 /n /l

1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:
chen@mylinuxserver:/proc> lsb_release -a

LSB Version:    core-2.0-noarch:core-3.0-noarch:core-2.0-ia32:core-3.0-ia32:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch

Distributor ID: SUSE LINUX

Description:    SUSE LINUX Enterprise Server 9 (i586)

Release:        9

Codename:       n/a
注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。

查看cpu型号

# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

2  Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz

(看到有2个逻辑CPU, 也知道了CPU型号)

查看cpu运行模式

# getconf LONG_BIT

32

(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)

查看cpu是否支持64bit

# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l

2

(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)

查看cpu信息概要(昨天看aix的时候刚发现的,在ubuntu上竟然也有~):

#lscpu

Architecture:          i686                            #架构686

CPU(s):                2                                   #逻辑cpu颗数是2

Thread(s) per core:    1                           #每个核心线程数是1                 

Core(s) per socket:    2                           #每个cpu插槽核数/每颗物理cpu核数是2

CPU socket(s):         1                            #cpu插槽数是1

Vendor ID:             GenuineIntel           #cpu厂商ID是GenuineIntel

CPU family:            6                              #cpu系列是6

Model:                 23                                #型号23

Stepping:              10                              #步进是10

CPU MHz:               800.000                 #cpu主频是800MHz

Virtualization:        VT-x                         #cpu支持的虚拟化技术VT-x(对此在下一博文中解释下http://hi.baidu.com/sdusoul/blog/item/5d8e0488def3a998a5c272c0.html)

L1d cache:             32K                         #一级缓存32K(google了下,这具体表示表示cpu的L1数据缓存为32k)

L1i cache:             32K                          #一级缓存32K(具体为L1指令缓存为32K)

L2 cache:              3072K                      #二级缓存3072K

最后来个大而全的:

#cat /proc/cpuinfo

processor    : 0

vendor_id    : GenuineIntel

cpu family    : 6

model        : 23

model name    : Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz

stepping    : 10

cpu MHz        : 800.000

cache size    : 3072 KB

physical id    : 0

siblings    : 2

core id        : 0

cpu cores    : 2

apicid        : 0

initial apicid    : 0

fdiv_bug    : no

hlt_bug        : no

f00f_bug    : no

coma_bug    : no

fpu        : yes

fpu_exception    : yes

cpuid level    : 13

wp        : yes

flags        : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida
tpr_shadow vnmi flexpriority

bogomips    : 4788.60

clflush size    : 64

power management:



processor    : 1

vendor_id    : GenuineIntel

cpu family    : 6

model        : 23

model name    : Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz

stepping    : 10

cpu MHz        : 800.000

cache size    : 3072 KB

physical id    : 0

siblings    : 2

core id        : 1

cpu cores    : 2

apicid        : 1

initial apicid    : 1

fdiv_bug    : no

hlt_bug        : no

f00f_bug    : no

coma_bug    : no

fpu        : yes

fpu_exception    : yes

cpuid level    : 13

wp        : yes

flags        : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm ida
tpr_shadow vnmi flexpriority

bogomips    : 4787.96

clflush size    : 64

power management:

补充,linux下通过c获取CPU个数信息

from: http://hi.baidu.com/hermitinhistory/blog/item/ce64d5fb6b23b71b6d22eb95.html

#include<stdio.h>

#include<unistd.h>



int main()

{

int cpu_num;



cpu_num = sysconf(_SC_NPROCESSORS_CONF);

printf("_SC_NPROCESSORS_CONF=%d/n",cpu_num);



cpu_num = sysconf(_SC_NPROCESSORS_ONLN);

printf("_SC_NPROCESSORS_ONLN=%d/n",cpu_num);



return 0;

}



/* 

* - _SC_NPROCESSORS_CONF

*       The number of processors configured.



* - _SC_NPROCESSORS_ONLN

*       The number of processors currently online (available).

*/





Linux下获得CPU个数一个简单方法就是查看/proc/cpuinfo文件。看出现processor字样的行数是多少条,即有多少个逻辑CPU(包括多核,超线程)。

因此cmd下输入下面命令即可:

cat /proc/cpuinfo | grep processor | wc -l

因此c++程序中很自然的想到使用strstr函数查找processor关键词出现次数即可。

查看服务器型号(或者是生产厂家):

      #dmidecode | grep "Product Name"  

      Product Name: PowerEdge R710

      Product Name: 0VWN1R

	#dmidecode -t system

查看网卡信息:

      #dmesg | grep -i eth 

      Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.9.3 (March 17, 2009)

      eth0: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem d6000000, IRQ 106, node addr a4badb28c33d

      eth1: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem d8000000, IRQ 114, node addr a4badb28c33f

      eth2: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem da000000, IRQ 122, node addr a4badb28c341

      eth3: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem dc000000, IRQ 130, node addr a4badb28c343

      cnic: Added CNIC device: eth0

      cnic: Added CNIC device: eth1

      cnic: Added CNIC device: eth2

      cnic: Added CNIC device: eth3

      bnx2: eth0: using MSIX

      ADDRCONF(NETDEV_UP): eth0: link is not ready

      bnx2i: iSCSI not supported, dev=eth0

      bnx2i: iSCSI not supported, dev=eth0

      bnx2: eth0 NIC Copper Link is Up, 1000 Mbps full duplex

      ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

      eth0: no IPv6 routers present

      process `sysctl' is using deprecated sysctl (syscall) net.ipv6.neigh.eth0.base_reachable_time; Usenet.ipv6.neigh.eth0.base_reachable_time_ms instead.

Linux下如何查看CPU型号、个数、核数、逻辑CPU数、位数、发行版本、内核信息、内存、服务器生产厂家的更多相关文章

  1. Linux查看物理CPU个数,核数,逻辑CPU个数;内存信息

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| ...

  2. 查看数量linux下查看cpu物理个数和逻辑个数

    首先声明,我是一个菜鸟.一下文章中出现技术误导情况盖不负责 hadoop@chw-desktop3:~$ cat /proc/cpuinfo processor : 0 vendor_id : Gen ...

  3. linux下查看cpu物理个数和逻辑个数 - chw1989的专栏 - 博客频道 - CSDN.NET

    body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLi ...

  4. linux下查看cpu物理个数和逻辑个数

    hadoop@chw-desktop3:~$ cat /proc/cpuinfo processor   : 0 vendor_id   : GenuineIntel cpu family  : 15 ...

  5. linux下如何查看服务器的硬件配置信息

    性能测试时一定要确定测试环境和的硬件配置.软件版本配置,保证和线上一致,才更接近真实环境. 那么linux下如何查看服务器的硬件配置信息?? 一.查看cpu信息 1.所有信息 lscpu [root@ ...

  6. Linux下如何查看版本信息

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然.   1.# uname -a   (Linux查看版本当前操作系统内核信息)   L ...

  7. Linux下如何查看版本信息(转)

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然.   1.# uname -a   (Linux查看版本当前操作系统内核信息)   L ...

  8. Linux下怎么查看当前系统的版本

    Linux下怎么查看当前系统的版本:   uname -r 功能说明:uname用来获取电脑和操作系统的相关信息. 语 法:uname [-amnrsvpio][--help][--version] ...

  9. linux下如何查看多核负载情况【转】

    最近服务器负载超荷,CPU的单个荷使用率到了百分之八九十,内存占用超大,让给检测性能,不给源码,只给一个+ -g编译生成的执行文件,Fuck!!! 1, 在linux下载了valgrind,使用val ...

  10. 在windows和linux下如何查看80端口占用情况?是被哪个进程占用?如何终止等

    一.在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等 这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入&quo ...

随机推荐

  1. GitHub-Microsoft:DotNet4

    ylbtech-GitHub-Microsoft:DotNet4 1.返回顶部 · dotnet-template-samples Samples showing how to create temp ...

  2. Mysql密码忘记,修改密码方法

    1.set password for ‘root’@’localhost’ = password(‘czllss’); -- czllss为新密码

  3. selenium元素定位方式xpath总结

    一.绝对路径(不要使用,除非已经使用了所有方式仍然无法定位)方法:根据实际目录,逐层输写.例子: find_element_by_xpath("/html/body/div[2]/form/ ...

  4. DEDECMS 漏洞汇总

    日期:2019-08-08 10:20:28 更新: 作者:Bay0net 介绍: 0x01.组合拳拿 shell 漏洞版本:v5.5 - v5.7 前台任意用户密码重置 首先注册一个账户,账户名为 ...

  5. C#中的datatable类型作为参数传入SQL的存储空间

    SQL中首先建立一个结构一样的自定义类型的表格,在存储空间中申明一个此类型的变量,此处注意此时后面必须有readonly,如: @paravalue_insert MaterialStruct rea ...

  6. Control的Invoke和BeginInvoke

    转载:https://www.cnblogs.com/c2303191/articles/826571.html 近日,被Control的Invoke和BeginInvoke搞的头大,就查了些相关的资 ...

  7. gin框架教程三:JWT的使用

    JWT介绍 JWT (JSON Web Token) 是一种规范.这个规范允许我们使用JWT在用户和服务器之间安全传递信息. JWT的组成: jwt分3个部分,Header 头部.Payload 载荷 ...

  8. HNU_团队项目_数据库框架Mybatis_环境配置和样例

    前言 数据库从最传统的JDBC连接方式和数据库池化技术到Hibernate的使用,再到Mybatis的快捷轻量级操作,技术迭代的速度飞快. 在了解了基础的理论和方法后,学习前沿编程框架.工具,我认为是 ...

  9. ArcEngine中打开各种数据源(WorkSpace)的连接 (SDE、personal/File、ShapeFile、CAD数据、影像图、影像数据集)

    ArcEngine 可以接受多种数据源.在开发过程中我们使用了如下几种数据源 1.企业数据库(SDE) 企业数据库需要使用SDE来管理,所以需要使用SDE的Workspace来表示连接.在AE接口中, ...

  10. 目前最新u盘启动快捷热键一览表

    现在重装系统已不再是件难事了,一个普通的u盘就可以帮你搞定,但是对于一些新手来说在使用u盘启动盘安装系统是也许会遇到这样的小问题,面对一台新电脑时不知道该如何让电脑优先访问u盘从而进入PE系统下进行装 ...