写点什么

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

用户头像
薇薇
关注
发布于: 2021 年 03 月 10 日
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/issueon
复制代码


查看操作系统内核版本


[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 -l1
复制代码


查看 CPU 核心数量


# grep 'core id' /proc/cpuinfo | sort -u | wc -l4
复制代码


查看 CPU 线程数


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


查看 CPU 型号


[root@node5 ~]catproccpuinfogrepnamesortuniqmodelnameIntelCorei7-8550UCPU1.80GHz[root@node5 ~]dmidecode-sprocessor-versionuniquniqIntelCorei7-8550UCPU1.80GHz
复制代码


查看 CPU 的详细信息


#CPU有几个核,就会输出几个重复的信息[root@node5~]#cat/proc/cpuinfoprocessor  :0vendor_id  :GenuineIntelcpu family  :6model    :142model name  :Intel(R)Core(TM)i7-8550UCPU@1.80GHzstepping  :10microcode  :0x96cpu MHz    :2000.921cache size  :8192KBphysical id  :0siblings  :4core id    :0cpu cores  :4apicid    :0initial apicid  :0fpu    :yesfpu_exception  :yescpuid level  :22wp    :yesflags    :fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushmmxfxsrssesse2sshtsyscallnxpdpe1gbrdtscplmconstant_tscarch_perfmonnoplxtopologytsc_reliablenonstop_tsceagerfpupnipclmulqdqvmxssse3fmacx16pcidsse4_1sse4_2x2apicmovbepopcnttsc_deadline_timeraesxsaveavxf16crdrandhypervisorlahf_lmabm3dnowprefetchtpr_shadowvnmieptvpidfsgsbasetsc_adjustbmi1avx2smepbmi2invpcidmpxrdseedadxsmapclflushoptxsaveoptxsavecaratbogomips  :4002.00clflush size  :64cache_alignment  :64address sizes  :43bitsphysical,48bitsvirtualpower management:
复制代码


查看 CPU 的详细信息


[root@node5~]#lscpuArchitecture:x86_64CPUop-mode(s):32-bit,64-bitByte Order:LittleEndianCPU(s):4On-lineCPU(s)list:0-3Thread(s)per core:1Core(s)per socket:4Socket(s):1NUMAnode(s):1Vendor ID:GenuineIntelCPU family:6Model:142Model name:Intel(R)Core(TM)i7-8550UCPU@1.80GHzStepping:10CPU MHz:2000.921BogoMIPS:4002.00Virtualization:VT-xHypervisor vendor:VMwareVirtualization type:fullL1d cache:32KL1i cache:32KL2 cache:256KL3 cache:8192KNUMAnode0CPU(s):0-3Flags:fpuvmedepsetscmsrpaemcecx8apicsepmtrrpgemcacmovpatpse36clflushmmxfxsrssesse2sshtsyscallnxpdpe1gbrdtscplmconstant_tscarch_perfmonnoplxtopologytsc_reliablenonstop_tsceagerfpupnipclmulqdqvmxssse3fmacx16pcidsse4_1sse4_2x2apicmovbepopcnttsc_deadline_timeraesxsaveavxf16crdrandhypervisorlahf_lmabm3dnowprefetchtpr_shadowvnmieptvpidfsgsbasetsc_adjustbmi1avx2smepbmi2invpcidmpxrdseedadxsmapclflushoptxsaveoptxsavecarat
复制代码


CPU 配置总结


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


2.3 内存基本配置查询


名词解释




查询服务器内存


[root@node5~]#free-mtotalusedfreesharedbuff/cacheavailableMem:39412863446192083407Swap:204702047#注释#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-s3totalusedfreesharedbuff/cacheavailableMem:40363163611443458272195362169003419776Swap:209714802097148totalusedfreesharedbuff/cacheavailableMem:40363163611443458272195362169003419776Swap:209714802097148totalusedfreesharedbuff/cacheavailableMem:40363163611443458272195362169003419776Swap:209714802097148
复制代码


2.4 硬盘基本配置查询


查询磁盘整体使用情况


[root@node5~]#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/mapper/centos-root17G4.1G13G24%/devtmpfs2.0G02.0G0%/devtmpfs2.0G8.0K2.0G1%/dev/shmtmpfs2.0G8.7M2.0G1%/runtmpfs2.0G02.0G0%/sys/fs/cgroup/dev/sda11014M125M890M13%/boottmpfs395M0395M0%/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_logout4.0K/home/www/.bash_profile4.0K/home/www/.bashrc4.0K/home/www/web16K/home/www4.0K/home/nginx/.bash_logout4.0K/home/nginx/.bash_profile4.0K/home/nginx/.bashrc12K/home/nginx4.0K/home/esnode/.bash_logout4.0K/home/esnode/.bash_profile4.0K/home/esnode/.bashrc4.0K/home/esnode/.oracle_jre_usage4.3M/home/esnode/elasticsearch-analysis-ik-6.2.2.zip80M/home/esnode/kibana-6.2.2-linux-x86_64.tar.gz300M/home/esnode/x-pack-6.2.2.zip28M/home/esnode/elasticsearch-6.2.2.tar.gz4.0K/home/esnode/.bash_history294M/home/esnode/elasticsearch-6.2.24.0K/home/esnode/.ssh4.0K/home/esnode/x-pack生成的秘钥.txt1014M/home/esnode/kibana-6.2.2-linux-x86_648.0K/home/esnode/.viminfo1.7G/home/esnode1.7G/home/1.7Gtotal
复制代码


查看目录结构


#tree命令默认没有安装,需要手动安装一下# yum -y install tree#-L指定目录深度# tree -L 2 /home/6.226.226.226.226.22xpack6.22x65
复制代码


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


[root@node5~]#lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:0020G0disk├─sda18:101G0part/boot└─sda28:2019G0part├─centos-root253:0017G0lvm/└─centos-swap253:102G0lvm[SWAP]sdb8:1601G0disk└─sdb18:170200M0partsr011:011024M0rom#注释#NAME —— 设备的名称#MAJ:MIN —— Linux 操作系统中的每个设备都以一个文件表示,对块(磁盘)设备来说,这里用主次设备编号来描述设备。#RM —— 可移动设备。如果这是一个可移动设备将显示 1,否则显示 0。#TYPE —— 设备的类型#MOUNTPOINT —— 设备挂载的位置#RO —— 对于只读文件系统,这里会显示 1,否则显示 0。#SIZE —— 设备的容量
复制代码


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


# blkidsda1:"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

评论

发布
暂无评论
Linux 查询 OS、CPU、内存、硬盘信息