当前位置:网站首页 > 更多 > 玩转PC/软件 > 正文

[学系统] Linux命令之 系统内核版本及硬件查询命令

作者:精品资源网 日期:2022-05-03 20:27:54 浏览:645 分类:玩转PC/软件

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

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

[学系统] Linux命令之 系统内核版本及硬件查询命令

查看Linux系统版本信息

查看Linux内核 版本命令

1、cat /proc/version (Linux查看当前操作系统版本信息,内核的版本号)

[root@VM_0_6_centos ~]# cat /proc/version
Linux version 3.10.0-862.el7.x86_64 ([email protected]) (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 &ndash;list # 列出所有系统服务

  • # chkconfig &ndash;list | grep on # 列出所有启动的系统服务程序

 

---------------------------------- THE END ----------------------------------


您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

请填写验证码