摘要:Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号...
Linux下如何查看系统内核系统版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号

查看Linux系统版本信息
查看Linux内核 版本命令
1、cat /proc/version (Linux查看当前操作系统版本信息,内核的版本号)
[root@VM_0_6_centos ~]# cat /proc/version
Linux version 3.10.0-862.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Fri Apr 20 16:44:24 UTC 2018
[root@VM_0_6_centos ~]#
2、uname -a (Linux查看版本当前操作系统内核信息)
[root@VM_0_6_centos ~]# uname -a
Linux VM_0_6_centos 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@VM_0_6_centos ~]#
查看Linux系统 版本的命令
getconf LONG_BIT (Linux查看系统位数命令:返回的结果如果是64,说明linux系统属于64位;返回的结果如果是32,说明linux系统属于32位。)
[root@VM_0_6_centos ~]# getconf LONG_BIT
64
[root@VM_0_6_centos ~]#
lsb_release -a 即可列出所有版本信息
注:如果提示【-bash: lsb_release: command not found】解决办法:需要安装lsb,命令是【CentOS系统:yum install wget -y Debian/Ubuntu系统:apt-get install -y wget】
[root@VM_0_6_centos ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.5.1804 (Core)
Release: 7.5.1804
Codename: Core
这个命令适用于所有的Linux发行版,包括RedHat、SUSE、Debian…等发行版。
cat /etc/redhat-release 这种方法只适合Redhat系的Linux
[root@VM_0_6_centos ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@VM_0_6_centos ~]#
cat /etc/issue 此命令也适用于所有的Linux发行版。
[root@VM_0_6_centos ~]# cat /etc/issue
\S
Kernel \r on an \m
[root@VM_0_6_centos ~]#
查看cpu信息的命令
uname -m (可以看到CPU架构信息)
[root@VM_0_6_centos ~]# uname -m
x86_64
[root@VM_0_6_centos ~]#
CPU相关信息
1、 cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等)
[root@VM_0_6_centos ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 79
model name : Intel(R) Xeon(R) CPU E5-26xx v4
stepping : 1
microcode : 0x1
cpu MHz : 2394.454
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch bmi1 avx2 bmi2 rdseed adx xsaveopt
bogomips : 4788.90
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
[root@VM_0_6_centos ~]#
名词释义
- 【processor】每个逻辑处理器的唯一标识符,即逻辑处理器(逻辑核)编号
- 【physical id】从0开始,每个物理封装的唯一标识符,即物理处理器(物理核)编号,拥有相同 physical id 的所有逻辑处理器共享同一个物理插座(socket)。每个 physical id 代表一个唯一的物理封装。
- 【core id】每个内核的唯一标识符,即在当前物理核中它的编号,每个 core id 均代表一个唯一的处理器内核,如果有n个processor(逻辑核)具有相同的"core id”和physical id ,那么超线程是打开的,且为n线程。
- 【siblings】位于相同物理封装中的逻辑处理器的数量,物理核包含的逻辑核数。Hyper-Threading creates logical CPUs (refered to as sibling CPUs by the kernel),也就是说SIBLING是内核认为的单个物理处理器所有的超线程个数。如果SIBLING小于等于实际物理核数的话,就说明没有启动超线程,反之启用超线程。有时不确定是否超线程时,siblings:12可以表述为“每个CPU有12个逻辑物理核”。
- 【cpu cores】位于相同物理封装中的内核数量(此处无法确定是逻辑还是物理核)。
- 超线程判断:如果cpu cores等于siblings则未启用超线程,那么相同physical id中任意2个processor中也不会有相同的core id。反之,siblings大于cpu cores则启用超线程。
- cpu cores的计算:无论是否超线程,相同physical id中core id数量等于cpu cores。超线程时,同一个physical id中至少2个processor中会有相同的core id,此时cpu cores数量计算包括重复的core id。某个physical id一共只有2个core id,它包含的2个processor中各有1个core id 为0,各有1个core id为1,然后把这个physical id下的所有core id之和就是cpu cores,2+2=4。
- processor数量:phsyical id个数*cpu cores=总的逻辑核数量,即processor数量,它除以siblings就等于当前操作系统支持的每个物理核的超线程数
注:如果处理器为英特尔处理器,则 vendor id 条目中的字符串是 GenuineIntel。
或者 lscpu
可以得到下面的内容
[root@VM_0_6_centos ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-26xx v4
Stepping: 1
CPU MHz: 2394.454
BogoMIPS: 4788.90
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch bmi1 avx2 bmi2 rdseed adx xsaveopt
[root@VM_0_6_centos ~]#
显示格式
- Architecture: #架构
- CPU(s): #逻辑cpu颗数
- Thread(s) per core: #每个核心线程
- Core(s) per socket: #每个cpu插槽核数/每颗物理cpu核数
- CPU socket(s): #cpu插槽数
- Vendor ID: #cpu厂商ID
- CPU family: #cpu系列
- Model: #型号
- Stepping: #步进
- CPU MHz: #cpu主频
- Virtualization: #cpu支持的虚拟化技术
- L1d cache: #一级缓存(google了下,这具体表示表示cpu的L1数据缓存)
- L1i cache: #一级缓存(具体为L1指令缓存)
- L2 cache: #二级缓存
Linux查看物理CPU个数、核数、逻辑CPU个数
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
[root@VM_0_6_centos ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
1
[root@VM_0_6_centos ~]#
# 查看每个物理CPU中core的个数(即核数)
[root@VM_0_6_centos ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores : 1
[root@VM_0_6_centos ~]#
# 查看逻辑CPU的个数
[root@VM_0_6_centos ~]# cat /proc/cpuinfo| grep "processor"| wc -l
1
[root@VM_0_6_centos ~]#
# 查看CPU信息(型号)
[root@VM_0_6_centos ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
1 Intel(R) Xeon(R) CPU E5-26xx v4
[root@VM_0_6_centos ~]#
输入命令 cat /proc/cpuinfo 查看physical id有几个就有几个物理cpu;查看processor有几个就有几个逻辑cpu。
(一)概念
① 物理CPU
- 实际Server中插槽上的CPU个数
- 物理cpu数量,可以数不重复的physical id有几个
② 逻辑CPU
- /proc/cpuinfo用来存储cpu硬件信息的
- 信息内容分别列出了processor 0 –processor n 的规格。这里需要注意,n+1是逻辑cpu数
- 一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来
- 逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)
- 备注一下:Linux下top查看的CPU也是逻辑CPU个数
③ CPU核数
- 一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU
- 一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术
lscpu命令,查看的是cpu的统计信息
hostname (查看服务器名称)
[root@VM_0_6_centos ~]# hostname
VM_0_6_centos
[root@VM_0_6_centos ~]#
lsblk (查看磁盘信息 - 列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息)
fdisk -l (观察硬盘实体使用情况,也可对硬盘分区)
df -k (用于显示磁盘分区上的可使用的磁盘空间)
[root@VM_0_6_centos ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 41M 0 rom
vda 253:0 0 50G 0 disk
└─vda1 253:1 0 50G 0 part /
[root@VM_0_6_centos ~]# fdisk -l
Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d64b4
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 104857599 52427776 83 Linux
[root@VM_0_6_centos ~]# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 51473888 6286784 42549356 13% /
devtmpfs 930668 0 930668 0% /dev
tmpfs 941444 64 941380 1% /dev/shm
tmpfs 941444 480 940964 1% /run
tmpfs 941444 0 941444 0% /sys/fs/cgroup
tmpfs 188292 0 188292 0% /run/user/0
[root@VM_0_6_centos ~]#
查看linux系统启动时间、天数.
查看/proc/uptime文件计算系统启动时间
[root@VM_0_6_centos ~]# cat /proc/uptime
1809661.07 1782403.87 #第一数字即是系统已运行的时间1809661.07秒,运用系统工具date即可算出系统启动时间
[root@VM_0_6_centos ~]# date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"
2019-11-21 16:46:08
查看 /proc/uptime 文件计算系统运行时间
[root@VM_0_6_centos ~]# cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'
系统已运行:20天22时42分8秒
[root@VM_0_6_centos ~]#
系统信息查询大全
- # lsusb -tv # 列出所有USB设备
- # free -m # 查看内存使用量和交换区使用量
- # df -h # 查看各分区使用情况
- # du -sh <目录名> # 查看指定目录的大小
- # grep MemTotal /proc/meminfo # 查看内存总量
- # grep MemFree /proc/meminfo # 查看空闲内存量
- # uptime # 查看系统运行时间、用户数、负载
- # cat /proc/loadavg # 查看系统负载磁盘和分区
- # mount | column -t # 查看挂接的分区状态
- # fdisk -l # 查看所有分区
- # swapon -s # 查看所有交换分区
- # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
- # dmesg | grep IDE # 查看启动时IDE设备检测状况网络
- # ifconfig # 查看所有网络接口的属性
- # iptables -L # 查看防火墙设置
- # route -n # 查看路由表
- # netstat -lntp # 查看所有监听端口
- # netstat -antp # 查看所有已经建立的连接
- # netstat -s # 查看网络统计信息进程
- # ps -ef # 查看所有进程
- # top # 实时显示进程状态用户
- # w # 查看活动用户
- # id <用户名> # 查看指定用户信息
- # last # 查看用户登录日志
- # cut -d: -f1 /etc/passwd # 查看系统所有用户
- # cut -d: -f1 /etc/group # 查看系统所有组
- # rpm -qa # 查看所有安装的软件包
- # crontab -l # 查看当前用户的计划任务服务
- # chkconfig –list # 列出所有系统服务
- # chkconfig –list | grep on # 列出所有启动的系统服务程序
---------------------------------- THE END ----------------------------------