Linux OS CPU 内存 硬盘

1、 操作系统基本配置查询

查看操作系统版本

  1. #cat /etc/redhat-release这个命令主要是查看红帽发行的操作系统的版本号
  2. [root@node5 ~]# cat /etc/redhat-release
  3. CentOS Linux release 7.4.1708 (Core)
  4. #cat /etc/issue这个命令适用于大多数linux发行版
  5. [root@node5 ~]# cat /etc/issue
  6. \S
  7. Kernel \r on an \m

查看操作系统内核版本

  1. [root@node5 ~]# uname -r
  2. 3.10.0-693.el7.x86_64

查看操作系统详细信息

  1. [root@node5 ~]# uname -a
  2. Linux node5 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
  3. #从上面这段输出可以看出,该服务器主机名是node5,linux内核版本是3.10.0-693.el7.x86_64,CPU是x86架构
  4. #该命令可以查看更多信息
  5. [root@node5 ~]# more /etc/*release
  6. ::::::::::::::
  7. /etc/centos-release
  8. ::::::::::::::
  9. CentOS Linux release 7.4.1708 (Core)
  10. ::::::::::::::
  11. /etc/os-release
  12. ::::::::::::::
  13. NAME="CentOS Linux"
  14. VERSION="7 (Core)"
  15. ID="centos"
  16. ID_LIKE="rhel fedora"
  17. VERSION_ID="7"
  18. PRETTY_NAME="CentOS Linux 7 (Core)"
  19. ANSI_COLOR="0;31"
  20. CPE_NAME="cpe:/o:centos:centos:7"
  21. HOME_URL="https://www.centos.org/"
  22. BUG_REPORT_URL="https://bugs.centos.org/"
  23. CENTOS_MANTISBT_PROJECT="CentOS-7"
  24. CENTOS_MANTISBT_PROJECT_VERSION="7"
  25. REDHAT_SUPPORT_PRODUCT="centos"
  26. REDHAT_SUPPORT_PRODUCT_VERSION="7"
  27. ::::::::::::::
  28. /etc/redhat-release
  29. ::::::::::::::
  30. CentOS Linux release 7.4.1708 (Core)
  31. ::::::::::::::
  32. /etc/system-release
  33. ::::::::::::::
  34. CentOS Linux release 7.4.1708 (Core)

2、CPU基本配置查询

名词解释

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

查看 CPU 物理个数

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

查看 CPU 核心数量

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

查看 CPU 线程数

  1. #逻辑cpu数:一般情况下,逻辑cpu=物理CPU个数×每颗核数,如果不相等的话,则表示服务器的CPU支持超线程技术(HT:简单来说,它可使处理#器中的1 颗内核如2 颗内核那样在操作系统中发挥作用。这样一来,操作系统可使用的执行资源扩大了一倍,大幅提高了系统的整体性能,此时逻#辑cpu=物理CPU个数×每颗核数x2)
  2. [root@node5 ~]# cat /proc/cpuinfo| grep "processor"|wc -l
  3. 4
  4. [root@node5 ~]# grep 'processor' /proc/cpuinfo | sort -u | wc -l
  5. 4

查看 CPU 型号

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

查看 CPU 的详细信息

  1. # CPU有几个核,就会输出几个重复的信息
  2. [root@node5 ~]# cat /proc/cpuinfo
  3. processor : 0
  4. vendor_id : GenuineIntel
  5. cpu family : 6
  6. model : 142
  7. model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
  8. stepping : 10
  9. microcode : 0x96
  10. cpu MHz : 2000.921
  11. cache size : 8192 KB
  12. physical id : 0
  13. siblings : 4
  14. core id : 0
  15. cpu cores : 4
  16. apicid : 0
  17. initial apicid : 0
  18. fpu : yes
  19. fpu_exception : yes
  20. cpuid level : 22
  21. wp : yes
  22. 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
  23. bogomips : 4002.00
  24. clflush size : 64
  25. cache_alignment : 64
  26. address sizes : 43 bits physical, 48 bits virtual
  27. power management:

查看CPU的详细信息

  1. [root@node5 ~]# lscpu
  2. Architecture: x86_64
  3. CPU op-mode(s): 32-bit, 64-bit
  4. Byte Order: Little Endian
  5. CPU(s): 4
  6. On-line CPU(s) list: 0-3
  7. Thread(s) per core: 1
  8. Core(s) per socket: 4
  9. Socket(s): 1
  10. NUMA node(s): 1
  11. Vendor ID: GenuineIntel
  12. CPU family: 6
  13. Model: 142
  14. Model name: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
  15. Stepping: 10
  16. CPU MHz: 2000.921
  17. BogoMIPS: 4002.00
  18. Virtualization: VT-x
  19. Hypervisor vendor: VMware
  20. Virtualization type: full
  21. L1d cache: 32K
  22. L1i cache: 32K
  23. L2 cache: 256K
  24. L3 cache: 8192K
  25. NUMA node0 CPU(s): 0-3
  26. 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 型号和频率 - model

通过 CPU 的型号,可以直观的分辨其好坏和优劣,而频率则反馈的是其性能如何。

  1. # CPU型号
  2. $ cat /proc/cpuinfo | grep "model name" | uniq
  3. model name : Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz
  4. # CPU频率
  5. $ cat /proc/cpuinfo | grep "cpu MHz" | uniq
  6. cpu MHz : 1547.537
  7. cpu MHz : 1250.590
  8. cpu MHz : 2183.637

查看物理 CPU 个数 - chip

主板上实际插入的 CPU 数量,可以数不重复的 physical id 字段有几个,即可。

  1. # 物理CPU数量
  2. $ cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
  3. 2

查看每个物理 CPU 中 core 的个数 - core - 核数

单块 CPU 上面能处理数据的芯片组的数量,如双核、四核等,成为 cpu cores。

  1. # CPU核数
  2. $ cat /proc/cpuinfo | grep "cpu cores" | uniq
  3. cpu cores : 10

查看逻辑 CPU 的个数 - processor

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

  1. # 逻辑CPU数
  2. $ cat /proc/cpuinfo | grep "processor" | wc -l
  3. 40

查询系统 CPU 是否启用超线程 - HTT

  1. # 查询方式
  2. $ cat /proc/cpuinfo | grep -e "cpu cores" -e "siblings" | sort | uniq
  3. cpu cores : 10
  4. siblings : 20

CPU配置总结

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

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@node5 ~]# free -m
  2. total used free shared buff/cache available
  3. Mem: 3941 286 3446 19 208 3407
  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@node5 ~]# free -s 3
  2. total used free shared buff/cache available
  3. Mem: 4036316 361144 3458272 19536 216900 3419776
  4. Swap: 2097148 0 2097148
  5. total used free shared buff/cache available
  6. Mem: 4036316 361144 3458272 19536 216900 3419776
  7. Swap: 2097148 0 2097148
  8. total used free shared buff/cache available
  9. Mem: 4036316 361144 3458272 19536 216900 3419776
  10. Swap: 2097148 0 2097148

4、硬盘基本配置查询

查询磁盘整体使用情况

  1. [root@node5 ~]# df -h
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/mapper/centos-root 17G 4.1G 13G 24% /
  4. devtmpfs 2.0G 0 2.0G 0% /dev
  5. tmpfs 2.0G 8.0K 2.0G 1% /dev/shm
  6. tmpfs 2.0G 8.7M 2.0G 1% /run
  7. tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
  8. /dev/sda1 1014M 125M 890M 13% /boot
  9. tmpfs 395M 0 395M 0% /run/user/0
  10. #命令拓展
  11. #df -a 显示全部的文件系统的使用情况
  12. #df -i显示inode信息
  13. #df -k 已字节数显示区块占用情况
  14. #df -T 显示文件系统的类型

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

  1. # 命令拓展
  2. #du -s 指定目录大小汇总
  3. #du -h带计量单位
  4. #du -a 含文件
  5. #du --max-depth=1 子目录深度
  6. #du -c 列出明细的同时,增加汇总值
  7. [root@node5 ~]# du -sh /home/
  8. 1.7G /home/
  9. [root@node5 ~]# du -ach --max-depth=2 /home/
  10. 4.0K /home/www/.bash_logout
  11. 4.0K /home/www/.bash_profile
  12. 4.0K /home/www/.bashrc
  13. 4.0K /home/www/web
  14. 16K /home/www
  15. 4.0K /home/nginx/.bash_logout
  16. 4.0K /home/nginx/.bash_profile
  17. 4.0K /home/nginx/.bashrc
  18. 12K /home/nginx
  19. 4.0K /home/esnode/.bash_logout
  20. 4.0K /home/esnode/.bash_profile
  21. 4.0K /home/esnode/.bashrc
  22. 4.0K /home/esnode/.oracle_jre_usage
  23. 4.3M /home/esnode/elasticsearch-analysis-ik-6.2.2.zip
  24. 80M /home/esnode/kibana-6.2.2-linux-x86_64.tar.gz
  25. 300M /home/esnode/x-pack-6.2.2.zip
  26. 28M /home/esnode/elasticsearch-6.2.2.tar.gz
  27. 4.0K /home/esnode/.bash_history
  28. 294M /home/esnode/elasticsearch-6.2.2
  29. 4.0K /home/esnode/.ssh
  30. 4.0K /home/esnode/x-pack生成的秘钥.txt
  31. 1014M /home/esnode/kibana-6.2.2-linux-x86_64
  32. 8.0K /home/esnode/.viminfo
  33. 1.7G /home/esnode
  34. 1.7G /home/
  35. 1.7G total

查看目录结构

  1. #tree命令默认没有安装,需要手动安装一下
  2. [root@node5 ~]# yum -y install tree
  3. #-L指定目录深度
  4. [root@node5 ~]# tree -L 2 /home/
  5. /home/
  6. ├── esnode
  7. ├── elasticsearch-6.2.2
  8. ├── elasticsearch-6.2.2.tar.gz
  9. ├── elasticsearch-analysis-ik-6.2.2.zip
  10. ├── kibana-6.2.2-linux-x86_64
  11. ├── kibana-6.2.2-linux-x86_64.tar.gz
  12. ├── x-pack-6.2.2.zip
  13. └── x-pack\347\224\237\346\210\220\347\232\204\347\247\230\351\222\245.txt
  14. ├── nginx
  15. └── www
  16. └── web
  17. 6 directories, 5 files

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

[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)、文件系统类型以及卷标

[root@node5 ~]# blkid
/dev/sda1: UUID="6503b4ad-2975-4152-a824-feb7bea1b622" TYPE="xfs" 
/dev/sda2: UUID="nqZ4uJ-ksnN-KzYS-N42b-00m3-Ohc2-BJXunP" TYPE="LVM2_member" 
/dev/sdb1: UUID="94396e17-4821-4957-aa76-d41f33958ff5" TYPE="xfs" 
/dev/mapper/centos-root: UUID="c1d38b37-821d-48e7-8727-3937ccc657a4" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="c2fcaf11-42d8-4e4c-bf9e-6464f0777198" TYPE="swap"