Linux 查询 OS、CPU、内存、硬盘信息
一.前言
当我们接手了一台或者几台服务器的时候,首先我们有必要对服务器的基本配置有所认识,这样才可以对症下药,对以后的软件部署,系统运维会有事半功倍的效果。
二.关于服务器基本配置
查询服务器的基本配置一般查询操作系统,CPU,内存,硬盘,下面进行逐一讲解。
2.1 操作系统基本配置查询
查看操作系统版本
#cat /etc/redhat-release这个命令主要是查看红帽发行的操作系统的版本号
root@node5 ~
# cat /etc/redhat-release
7.4
.1708
#cat /etc/issue这个命令适用于大多数linux发行版
root@node5 ~
# cat /etc/issue
on
查看操作系统内核版本
[root@node5 ~]
uname
-r
.10
.0-693
.el7
.x86_64
查看操作系统详细信息
# uname -a
#1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
#从上面这段输出可以看出,该服务器主机名是node5,linux内核版本是3.10.0-693.el7.x86_64,CPU是x86架构
#该命令可以查看更多信息
# more /etc/*release
::::::::::::::
::::::::::::::
::::::::::::::
::::::::::::::
"CentOS Linux"
"7 (Core)"
"centos"
"rhel fedora"
"7"
"CentOS Linux 7 (Core)"
"0;31"
"cpe:/o:centos:centos:7"
"https://www.centos.org/"
"https://bugs.centos.org/"
"CentOS-7"
"7"
"centos"
"7"
::::::::::::::
::::::::::::::
::::::::::::::
::::::::::::::
2.2 CPU 基本配置查询
名词解释
查看 CPU 物理个数
# grep 'physical id' /proc/cpuinfo | sort -u | wc -l
1
查看 CPU 核心数量
# grep 'core id' /proc/cpuinfo | sort -u | wc -l
4
查看 CPU 线程数
#逻辑cpu数:一般情况下,逻辑cpu=物理CPU个数×每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术(HT:简单来说,它可使处理#器中的1 颗内核如2 颗内核那样在操作系统中发挥作用。这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻#辑cpu=物理CPU个数×每颗核数x2)
# cat /proc/cpuinfo| grep "processor"|wc -l
4
# grep 'processor' /proc/cpuinfo | sort -u | wc -l
4
查看 CPU 型号
[root@node5 ~]
cat
proc
cpuinfo
grep
name
sort
uniq
model
name
Intel
Core
i7-8550U
CPU
1
.80GHz
[root@node5 ~]
dmidecode
-s
processor-version
uniq
uniq
Intel
Core
i7-8550U
CPU
1
.80GHz
查看 CPU 的详细信息
#CPU有几个核,就会输出几个重复的信息
[root@node5
~]#
cat
/proc/cpuinfo
processor :
0
vendor_id :
GenuineIntel
cpu family :
6
model :
142
model name :
Intel(R)
Core(TM)
i7-8550U
CPU
@
1.
80GHz
stepping :
10
microcode :
0x96
cpu MHz :
2000.921
cache size :
8192
KB
physical id :
0
siblings :
4
core id :
0
cpu cores :
4
apicid :
0
initial apicid :
0
fpu :
yes
fpu_exception :
yes
cpuid level :
22
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
pdpe1gb
rdtscp
lm
constant_tsc
arch_perfmon
nopl
xtopology
tsc_reliable
nonstop_tsc
eagerfpu
pni
pclmulqdq
vmx
ssse3
fma
cx16
pcid
sse4_1
sse4_2
x2apic
movbe
popcnt
tsc_deadline_timer
aes
xsave
avx
f16c
rdrand
hypervisor
lahf_lm
abm
3dnowprefetch
tpr_shadow
vnmi
ept
vpid
fsgsbase
tsc_adjust
bmi1
avx2
smep
bmi2
invpcid
mpx
rdseed
adx
smap
clflushopt
xsaveopt
xsavec
arat
bogomips :
4002.00
clflush size :
64
cache_alignment :
64
address sizes :
43
bits
physical,
48
bits
virtual
power management:
查看 CPU 的详细信息
[root@node5
~]#
lscpu
Architecture:
x86_64
CPU
op-mode(s):
32
-bit,
64
-bit
Byte Order:
Little
Endian
CPU(s):
4
On-line
CPU(s)
list:
0
-3
Thread(s)
per core:
1
Core(s)
per socket:
4
Socket(s):
1
NUMA
node(s):
1
Vendor ID:
GenuineIntel
CPU family:
6
Model:
142
Model name:
Intel(R)
Core(TM)
i7-8550U
CPU
@
1.
80GHz
Stepping:
10
CPU MHz:
2000.921
BogoMIPS:
4002.00
Virtualization:
VT-x
Hypervisor vendor:
VMware
Virtualization type:
full
L1d cache:
32K
L1i cache:
32K
L2 cache:
256K
L3 cache:
8192K
NUMA
node0
CPU(s):
0
-3
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
pdpe1gb
rdtscp
lm
constant_tsc
arch_perfmon
nopl
xtopology
tsc_reliable
nonstop_tsc
eagerfpu
pni
pclmulqdq
vmx
ssse3
fma
cx16
pcid
sse4_1
sse4_2
x2apic
movbe
popcnt
tsc_deadline_timer
aes
xsave
avx
f16c
rdrand
hypervisor
lahf_lm
abm
3dnowprefetch
tpr_shadow
vnmi
ept
vpid
fsgsbase
tsc_adjust
bmi1
avx2
smep
bmi2
invpcid
mpx
rdseed
adx
smap
clflushopt
xsaveopt
xsavec
arat
CPU 配置总结
通过以上的查询,我们可以知道该服务器是 1 路 4 核的 CPU ,CPU 型号是 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz,该 CPU 没有超线程。
2.3 内存基本配置查询
名词解释
查询服务器内存
[root@node5
~]#
free
-m
total
used
free
shared
buff/cache
available
Mem:
3941
286
3446
19
208
3407
Swap:
2047
0
2047
#注释
#linux的内存管理机制的思想包括(不敢说就是)内存利用率最大化。内核会把剩余的内存申请为cached,而cached不属于free范畴。当系统运#行时间较久,会发现cached很大,对于有频繁文件读写操作的系统,这种现象会更加明显。直观的看,此时free的内存会非常小,但并不代表可##用的内存小,当一个程序需要申请较大的内存时,如果free的内存不够,内核会把部分cached的内存回收,回收的内存再分配给应用程序。所以#对于linux系统,可用于分配的内存不只是free的内存,还包括cached的内存(其实还包括buffers)。
#对于操作系统:
#MemFree=total-used
#MemUsed = MemTotal - MemFree
#对于应用程序:
#MemFree=buffers+cached+free
每隔 3 秒查询一下内存
[root@node5
~]#
free
-s
3
total
used
free
shared
buff/cache
available
Mem:
4036316
361144
3458272
19536
216900
3419776
Swap:
2097148
0
2097148
total
used
free
shared
buff/cache
available
Mem:
4036316
361144
3458272
19536
216900
3419776
Swap:
2097148
0
2097148
total
used
free
shared
buff/cache
available
Mem:
4036316
361144
3458272
19536
216900
3419776
Swap:
2097148
0
2097148
2.4 硬盘基本配置查询
查询磁盘整体使用情况
[root@node5
~]#
df
-h
Filesystem
Size
Used
Avail
Use%
Mounted
on
/dev/mapper/centos-root
17G
4.
1G
13G
24
%
/
devtmpfs
2.
0G
0
2.
0G
0
%
/dev
tmpfs
2.
0G
8.
0K
2.
0G
1
%
/dev/shm
tmpfs
2.
0G
8.
7M
2.
0G
1
%
/run
tmpfs
2.
0G
0
2.
0G
0
%
/sys/fs/cgroup
/dev/sda1
1014M
125M
890M
13
%
/boot
tmpfs
395M
0
395M
0
%
/run/user/0
#命令拓展
#df -a 显示全部的文件系统的使用情况
#df -i显示inode信息
#df -k 已字节数显示区块占用情况
#df -T 显示文件系统的类型
查询某个目录磁盘占用情况
#命令拓展
#du -s 指定目录大小汇总
#du -h带计量单位
#du -a 含文件
#du --max-depth=1 子目录深度
#du -c 列出明细的同时,增加汇总值
[root@node5
~]#
du
-sh
/home/
1.
7G
/home/
[root@node5
~]#
du
-ach
--max-depth=2
/home/
4.
0K
/home/www/.bash_logout
4.
0K
/home/www/.bash_profile
4.
0K
/home/www/.bashrc
4.
0K
/home/www/web
16K
/home/www
4.
0K
/home/nginx/.bash_logout
4.
0K
/home/nginx/.bash_profile
4.
0K
/home/nginx/.bashrc
12K
/home/nginx
4.
0K
/home/esnode/.bash_logout
4.
0K
/home/esnode/.bash_profile
4.
0K
/home/esnode/.bashrc
4.
0K
/home/esnode/.oracle_jre_usage
4.
3M
/home/esnode/elasticsearch-analysis-ik-6.2.2.zip
80M
/home/esnode/kibana-6.2.2-linux-x86_64.tar.gz
300M
/home/esnode/x-pack-6.2.2.zip
28M
/home/esnode/elasticsearch-6.2.2.tar.gz
4.
0K
/home/esnode/.bash_history
294M
/home/esnode/elasticsearch-6.2.2
4.
0K
/home/esnode/.ssh
4.
0K
/home/esnode/x-pack生成的秘钥.txt
1014M
/home/esnode/kibana-6.2.2-linux-x86_64
8.
0K
/home/esnode/.viminfo
1.
7G
/home/esnode
1.
7G
/home/
1.
7G
total
查看目录结构
#tree命令默认没有安装,需要手动安装一下
# yum -y install tree
#-L指定目录深度
# tree -L 2 /home/
6.2
2
6.2
2
6.2
2
6.2
2
6.2
2
x
pack
6.2
2
x
6
5
以树状的格式显示所有可用的块设备信息
[root@node5
~]#
lsblk
NAME
MAJ:MIN
RM
SIZE
RO
TYPE
MOUNTPOINT
sda
8
:0
0
20G
0
disk
├─sda1
8
:1
0
1G
0
part
/boot
└─sda2
8
:2
0
19G
0
part
├─centos-root
253
:0
0
17G
0
lvm
/
└─centos-swap
253
:1
0
2G
0
lvm
[SWAP]
sdb
8
:16
0
1G
0
disk
└─sdb1
8
:17
0
200M
0
part
sr0
11
:0
1
1024M
0
rom
#注释
#NAME —— 设备的名称
#MAJ:MIN —— Linux 操作系统中的每个设备都以一个文件表示,对块(磁盘)设备来说,这里用主次设备编号来描述设备。
#RM —— 可移动设备。如果这是一个可移动设备将显示 1,否则显示 0。
#TYPE —— 设备的类型
#MOUNTPOINT —— 设备挂载的位置
#RO —— 对于只读文件系统,这里会显示 1,否则显示 0。
#SIZE —— 设备的容量
列出所有可用的设备、通用唯一识别码(UUID)、文件系统类型以及卷标
# blkid
sda1:
"6503b4ad-2975-4152-a824-feb7bea1b622"
"xfs"
sda2:
"nqZ4uJ-ksnN-KzYS-N42b-00m3-Ohc2-BJXunP"
"LVM2_member"
sdb1:
"94396e17-4821-4957-aa76-d41f33958ff5"
"xfs"
root:
"c1d38b37-821d-48e7-8727-3937ccc657a4"
"xfs"
swap:
"c2fcaf11-42d8-4e4c-bf9e-6464f0777198"
"swap"
很多 PHPer 在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql 优化、shell 脚本、Docker、微服务、高并发、Nginx 等多个知识点高级进阶干货需要的可以免费分享给大家。点击领取资料
薇薇
还未添加个人签名 2021.03.08 加入
微信公众号【架构师学习路线】关注即可免费领取大厂PHP面试题,PHP高级,架构视频资料!适合1-8年PHP开发者PHP架构师学习路线图+笔记+代码+PPT+文档课件通过企鹅群:951152928
评论