Linux 查询 OS、CPU、内存、硬盘信息

1.1操作系统基本配置查询

查看操作系统版本

1 [root@jinli81 ~]# cat /etc/redhat-release 这个命令主要是查看红帽发行的操作系统的版本号
2 CentOS Linux release 7.7.1908 (Core)

查看操作系统内核版本

1 [root@jinli81 ~]# uname -r
2 3.10.0-957.el7.x86_64

查看操作系统详细信息

1 Linux jinli81 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
2 [root@jinli81 ~]#

#从上面这段输出可以看出,该服务器主机名是jinli81,linux内核版本是3.10.0-957.el7.x86_64,CPU是x86架构.

1.2CPU基本配置查询

名词解释

名词 含义
CPU物理个数 主板上实际插入的cpu数量
CPU核心数 单块CPU上面能处理数据的芯片组的数量,如双核、四核等 (cpu cores)
逻辑CPU数/线程数 一般情况下,逻辑cpu=物理CPU个数×每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术

 

 

 

 

 

 

查看 CPU 物理个数

1 [root@jinli81 ~]# grep physical id /proc/cpuinfo | sort -u | wc -l
2 1

查看 CPU 核心数量

1 [root@jinli81 ~]# grep core id /proc/cpuinfo | sort -u | wc -l
2 1

查看 CPU 线程数

#逻辑cpu数:一般情况下,逻辑cpu=物理CPU个数×每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术(HT:简单来说,它可使处理#器中的1 颗内核如2 颗内核那样在操作系统中发挥作用。这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻#辑cpu=物理CPU个数×每颗核数x2)

1 [root@jinli81 ~]# cat /proc/cpuinfo| grep "processor"|wc -l
2 1
3 [root@jinli81 ~]# grep processor /proc/cpuinfo | sort -u | wc -l
4 1

查看 CPU 型号

1 [root@jinli81 ~]# cat /proc/cpuinfo | grep name | sort | uniq
2 model name    : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
3 [root@jinli81 ~]# dmidecode -s processor-version | uniq   #使用uniq进行去重
4 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz

查看 CPU 的详细信息

#CPU有几个核,就会输出几个重复的信息

 1 [root@jinli81 ~]# cat /proc/cpuinfo
 2 processor    : 0
 3 vendor_id    : GenuineIntel
 4 cpu family    : 6
 5 model        : 158
 6 model name    : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
 7 stepping    : 10
 8 microcode    : 0xb4
 9 cpu MHz        : 2592.003
10 cache size    : 12288 KB
11 physical id    : 0
12 siblings    : 1
13 core id        : 0
14 cpu cores    : 1
15 apicid        : 0
16 initial apicid    : 0
17 fpu        : yes
18 fpu_exception    : yes
19 cpuid level    : 22
20 wp        : yes
21 flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc 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 ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities
22 bogomips    : 5184.00
23 clflush size    : 64
24 cache_alignment    : 64
25 address sizes    : 43 bits physical, 48 bits virtual
26 power management:

查看 CPU 的详细信息

 1 [root@jinli81 ~]# lscpu
 2 Architecture:          x86_64
 3 CPU op-mode(s):        32-bit, 64-bit
 4 Byte Order:            Little Endian
 5 CPU(s):                1
 6 On-line CPU(s) list:   0
 7 Thread(s) per core:    1
 8 Core(s) per socket:    1
 9 Socket(s):             1
10 NUMA node(s):          1
11 Vendor ID:             GenuineIntel
12 CPU family:            6
13 Model:                 158
14 Model name:            Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
15 Stepping:              10
16 CPU MHz:               2592.003
17 BogoMIPS:              5184.00
18 Hypervisor vendor:     VMware
19 Virtualization type:   full
20 L1d cache:             32K
21 L1i cache:             32K
22 L2 cache:              256K
23 L3 cache:              12288K
24 NUMA node0 CPU(s):     0
25 Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc 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 ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities

CPU配置总结

通过以上的查询,我们可以知道该服务器是1路1核的CPU ,CPU型号是Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz,该CPU没有超线程。

1.3内存基本配置查询

名词解释

名词 含义
Mem 内存的使用情况总览表
Swap 虚拟内存。即可以把数据存放在硬盘上的数据,当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。SWAP意思是交换,顾名思义,当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在SWAP分区中,这个过程称为SWAP OUT。当某进程又需要这些数据且OS发现还有空闲物理内存时,又会把SWAP分区中的数据交换回物理内存中,这个过程称为SWAP IN。当然,swap大小是有上限的,一旦swap使用完,操作系统会触发OOM-Killer机制,把消耗内存最多的进程kill掉以释放内存。
shared 共享内存,即和普通用户共享的物理内存值, 主要用于进程间通信
buffers 用于存放要输出到disk(块设备)的数据的
cached 存放从disk上读出的数据
total 总的物理内存,total=used+free
used 使用掉的内存
free 空闲的内存

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

查询服务器内存

 1 [root@jinli81 ~]# free -m
 2               total        used        free      shared  buff/cache   available
 3 Mem:           1819         768         131          29         919         839
 4 Swap:          2047           0        2047
 5 #注释
 6 #linux的内存管理机制的思想包括(不敢说就是)内存利用率最大化。内核会把剩余的内存申请为cached,而cached不属于free范畴。当系统运#行时间较久,会发现cached很大,对于有频繁文件读写操作的系统,这种现象会更加明显。直观的看,此时free的内存会非常小,但并不代表可##用的内存小,当一个程序需要申请较大的内存时,如果free的内存不够,内核会把部分cached的内存回收,回收的内存再分配给应用程序。所以#对于linux系统,可用于分配的内存不只是free的内存,还包括cached的内存(其实还包括buffers)。
 7 #对于操作系统:
 8 #MemFree=total-used
 9 #MemUsed  = MemTotal - MemFree
10 #对于应用程序:
11 #MemFree=buffers+cached+free

每隔3秒查询一下内存

 1 [root@jinli81 ~]# free -s 3
 2               total        used        free      shared  buff/cache   available
 3 Mem:        1863224      786516      134936       30352      941772      859456
 4 Swap:       2097148           0     2097148
 5 
 6               total        used        free      shared  buff/cache   available
 7 Mem:        1863224      786516      134936       30352      941772      859456
 8 Swap:       2097148           0     2097148
 9 
10               total        used        free      shared  buff/cache   available
11 Mem:        1863224      787044      134408       30352      941772      858928
12 Swap:       2097148           0     2097148

1.4硬盘基本配置查询

查询磁盘整体使用情况

 1 [root@jinli81 ~]# df -h
 2 Filesystem               Size  Used Avail Use% Mounted on
 3 devtmpfs                 894M     0  894M   0% /dev
 4 tmpfs                    910M  8.0K  910M   1% /dev/shm
 5 tmpfs                    910M   11M  900M   2% /run
 6 tmpfs                    910M     0  910M   0% /sys/fs/cgroup
 7 /dev/mapper/centos-root   48G   12G   36G  25% /
 8 /dev/sda1                197M  167M   30M  85% /boot
 9 tmpfs                    182M   12K  182M   1% /run/user/42
10 tmpfs                    182M     0  182M   0% /run/user/0
11 overlay                   48G   12G   36G  25% /var/lib/docker/overlay2/b910673a270ff6b3a2d4bb97ae6b97b52e7b3dc06b4db8ac7b34fbc8e930bdac/merged

查询某个目录磁盘占用情况

 1 #命令拓展
 2 #du -s 指定目录大小汇总
 3 #du -h带计量单位
 4 #du -a 含文件
 5 #du --max-depth=1 子目录深度
 6 #du -c 列出明细的同时,增加汇总值
 7 [root@jinli81 /]# du -sh /data/
 8 241M    /data/
 9 [root@jinli81 /]# du -ach --max-depth=2 /data/
10 0    /data/db/mongod.lock
11 0    /data/db/journal
12 4.0K    /data/db/storage.bson
13 16M    /data/db/local.ns
14 64M    /data/db/local.0
15 16M    /data/db/tutorial.ns
16 64M    /data/db/tutorial.0
17 16M    /data/db/images360.ns
18 0    /data/db/_tmp
19 64M    /data/db/images360.0
20 241M    /data/db
21 241M    /data/
22 241M    total

查看目录结构

 1 #tree命令默认没有安装,需要手动安装一下
 2 [root@jinli81 /]# yum -y install tree
 3 #-L指定目录深度
 4 [root@jinli81 /]# tree -L 2 /data/
 5 /data/
 6 └── db
 7     ├── images360.0
 8     ├── images360.ns
 9     ├── journal
10     ├── local.0
11     ├── local.ns
12     ├── mongod.lock
13     ├── storage.bson
14     ├── _tmp
15     ├── tutorial.0
16     └── tutorial.ns
17 
18 3 directories, 8 files

以树状的格式显示所有可用的块设备信息

 1 [root@jinli81 /]# lsblk
 2 NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 3 sda               8:0    0   50G  0 disk 
 4 ├─sda1            8:1    0  200M  0 part /boot
 5 └─sda2            8:2    0 49.8G  0 part 
 6   ├─centos-root 253:0    0 47.8G  0 lvm  /
 7   └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
 8 sr0              11:0    1 1024M  0 rom
 9 #注释
10 #NAME —— 设备的名称
11 #MAJ:MIN —— Linux 操作系统中的每个设备都以一个文件表示,对块(磁盘)设备来说,这里用主次设备编号来描述设备。
12 #RM —— 可移动设备。如果这是一个可移动设备将显示 1,否则显示 013 #TYPE —— 设备的类型
14 #MOUNTPOINT —— 设备挂载的位置
15 #RO —— 对于只读文件系统,这里会显示 1,否则显示 016 #SIZE —— 设备的容量

列出所有可用的设备、通用唯一识别码(UUID)、文件系统类型以及卷标

1 [root@jinli81 /]# blkid
2 /dev/sda1: UUID="8ba1b248-aec0-44f3-bac3-1d606f325c80" TYPE="xfs" 
3 /dev/sda2: UUID="VldxYv-H5QE-1fup-5qFz-aEsM-CsJq-KUr7v8" TYPE="LVM2_member" 
4 /dev/mapper/centos-root: UUID="c3d23c19-15e3-41e9-bd6e-2b38c62b8c22" TYPE="xfs" 
5 /dev/mapper/centos-swap: UUID="5a846d4d-dbe4-497d-a9c6-0fea65355886" TYPE="swap"

 

Linux 查询 OS、CPU、内存、硬盘信息

上一篇:linux 命令学习


下一篇:linux系统中安装R包