如何快速查看服务器配置信息?

作为一个开发,与服务器打交道的时间肯定不少,很多时候也需要了解一下服务器的配置信息。在 Windows 系统上,我们可以通过「鲁大师」很轻松地查询到电脑的配置信息,那服务器上如何查询到 CPU、内存、主板、硬盘等信息呢?

与「鲁大师」一样,在 Linux 上有这样一款软件能让你快速查询服务器的配置信息,非常方便。它就是——「Inxi」。

什么是Inxi

Inxi是一个可以获取完整的系统和硬件详情信息的命令行工具,内容包括:

  • 硬件
  • CPU
  • 磁盘驱动器
  • Xorg
  • 桌面环境
  • 内核
  • GCC版本
  • 进程
  • 内存占用
  • 和其他有用的信息

通过 Inxi 我们可以快速地查询到我们所需要的很多服务器信息。

如何安装?

按照网络上一些资料,我直接使用了 yum install inxi 命令进行了安装,但是提示:

No package inxi avaiable

这提示让我很困惑,于是我直接到 Inxi 官网寻找信息。皇天不负有心人,终于找到了对应的安装提示页面

根据提示,你首先需要安装「latest epel-release rpm」,之后再安装「inxi」。

这就是直接运行yum install inxi会出错的原因。

于是,按照提示,首先到 Index of /pub/epel/7/x86_64/Packages/e 搜索下载 epel-release-7-11.noarch.rpm 文件。

之后运行 rpm 命令安装:

rpm -Uvh epel-release-7-11.noarch.rpm

最后再运行 yum 安装命令:

yum install inxi

最后输入inxi -F命令即可查看到服务器的很多配置信息:

System:    Host: sk Kernel: 3.13.0-45-generic x86_64 (64 bit) Desktop: LXDE (Openbox 3.5.2) Distro: Ubuntu 14.04 trusty
Machine:   System: Dell (portable) product: Inspiron N5050
           Mobo: Dell model: 01HXXJ version: A05 Bios: Dell version: A05 date: 08/03/2012
CPU:       Dual core Intel Core i3-2350M CPU (-HT-MCP-) cache: 3072 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) 
           Clock Speeds: 1: 800.00 MHz 2: 1000.00 MHz 3: 800.00 MHz 4: 800.00 MHz
Graphics:  Card: Intel 2nd Generation Core Processor Family Integrated Graphics Controller 
           X.Org: 1.15.1 drivers: intel (unloaded: fbdev,vesa) Resolution: 1366x768@60.0hz 
           GLX Renderer: Mesa DRI Intel Sandybridge Mobile GLX Version: 3.0 Mesa 10.3.0
Audio:     Card: Intel 6 Series/C200 Series Family High Definition Audio Controller driver: snd_hda_intel 
           Sound: Advanced Linux Sound Architecture ver: k3.13.0-45-generic
Network:   Card-1: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) driver: ath9k 
           IF: wlan0 state: up mac: 
           Card-2: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller driver: r8169 
           IF: eth0 state: down mac: 
Drives:    HDD Total Size: 500.1GB (52.5% used) 1: id: /dev/sda model: ST9500325AS size: 500.1GB 
Partition: ID: / size: 455G used: 245G (57%) fs: ext4 ID: /boot size: 236M used: 159M (72%) fs: ext2 
           ID: swap-1 size: 4.19GB used: 0.00GB (0%) fs: swap 
RAID:      No RAID devices detected - /proc/mdstat and md_mod kernel raid module present
Sensors:   System Temperatures: cpu: 64.5C mobo: N/A 
           Fan Speeds (in rpm): cpu: N/A 
Info:      Processes: 186 Uptime: 6:52 Memory: 1547.2/3861.3MB Client: Shell (bash) inxi: 1.9.17

提示:查询某些系统配置信息需要 root 权限,所以 inxi 命令需要在 root 用户下运行或具有 sudo 权限。

如何使用

除了使用inxi -F命令一次性列出每一种硬件的信息之外,你还可以单独查询服务器某个硬件的信息,如只查询硬盘或内存信息。

  • inxi :获取系统概况信息
  • inxi -A :获取音频信息
  • inxi -G :获取显卡信息
  • inxi -D :获取硬盘信息
  • inxi -M :获取BIOS和主板信息

如果觉得上面列出的信息都满足不了你的需求,那你可以使用inxi —help查询更多的可选项,相信一定可以找到你需要的。

其他方式

虽然通过安装 inxi 可以方便地查询到很多信息,并且列出的信息也非常多,于是想着自己直接写一个脚本,列出一些自己需要的信息即可。虽然自己写一个脚本可以直接运行,不用安装,但缺点就是不同平台服务器上会有兼容问题。所以我写的脚本可能只在 CentOS 7 系统上正常运行,如果大家有时间可以在该脚本基础上进行修改,补充不同系统平台的查询脚本,造福大家。

# 服务器型号
dmidecode | grep "Product" > server.temp.info
serverModelInfo="服务器型号:"
while read lineStr
do 
    temp=`echo ${lineStr##*:}` 
    serverModelInfo="${serverModelInfo}${temp} "
done < server.temp.info
# 操作系统
os=`cat /etc/centos-release`
osInfo="操作系统:${os}"
# 处理器
cpuNameInfo=`cat /proc/cpuinfo | grep "model name" | uniq`
cpuCount=`cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l`
cpuCoreCount=`cat /proc/cpuinfo| grep "cpu cores"| uniq`
cpuCoreCount=`echo ${cpuCoreCount##*:}`
maxThreadCount=`cat /proc/cpuinfo |grep "processor"|wc -l`
cpuMHZ=`cat /proc/cpuinfo |grep MHz|uniq`
cpuBit=`getconf LONG_BIT`
cpuNameInfo=`echo ${cpuNameInfo##*:}`
cpuNameInfo="处理器:${cpuNameInfo}(${cpuCount}路${cpuCoreCount}核 最多${maxThreadCount}个线程 ${cpuBit}位处理器)"
# 主板
boradNameStr=`dmidecode -t 2 | grep "Product Name" | uniq`
boardName=`echo ${boradNameStr##*:}`
boardNameInfo="主板:${boardName}"
# 内存
# Memory
memStr=`dmidecode -t 17 | grep "Size:.*MB" | uniq`
memSizeStr=`echo ${memStr##*:}`
memSize=`echo ${memSizeStr} | tr -cd "[0-9]"`
memSizeInGB=`expr ${memSize} / 1024`
# MaxMemory
maxMemStr=`dmidecode -t 16 | grep Maximum | uniq`
maxMem=`echo ${maxMemStr##*:} | sed s/[[:space:]]//g`
memoryInfo="内存:${memSizeInGB}GB(最大内存${maxMem})"
# 硬盘
lsblk -o name,type,size,kname,fstype,MODEL,size | grep disk > server.temp.info
diskCountStr=`lsblk  -o  TYPE  | grep  -i  disk | wc  -l`
hardDiskInfo="硬盘:${diskCountStr}个硬盘  "
while read lineStr
do 
    arr=(${lineStr})
    info="硬盘${arr[0]}(${arr[2]}) "
    hardDiskInfo="${hardDiskInfo}${info} "
done < server.temp.info
# 网卡
networkNameStr=`lspci | grep Ethernet | uniq`
networkName=`echo ${networkNameStr##*:}`
networkNameInfo="网卡:${networkName}" 
# 概况
serverTotal="\n  ${serverModelInfo}\n  ${osInfo}\n  ${cpuNameInfo}\n  ${boardNameInfo}\n  ${memoryInfo}\n  ${hardDiskInfo}\n  ${networkNameInfo}\n"
echo -e "${serverTotal}" > GetServerInfo.txt
echo -e "${serverTotal}"
rm  -f server.temp.info

在 CentOS 7 服务器上运行可得到基本的系统信息:

  服务器型号:VMware Virtual Platform 440BX Desktop Reference Platform 
  操作系统:CentOS Linux release 7.4.1708 (Core) 
  处理器:Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz(2路2核 最多4个线程 64位处理器)
  主板:440BX Desktop Reference Platform
  内存:8GB(最大内存1TB)
  硬盘:3个硬盘  硬盘fd0(4K)  硬盘sda(50G)  硬盘sdb(50G)  
  网卡:VMware VMXNET3 Ethernet Controller (rev 01)

本文完。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小曾

.Net Web开发技术栈

有很多朋友有的因为兴趣,有的因为生计而走向了.Net中,有很多朋友想学,但是又不知道怎么学,学什么,怎么系统的学,为此我以我微薄之力总结归纳写了一篇.Net w...

3983
来自专栏Spring相关

spring websocket 和socketjs实现单聊群聊,广播的消息推送详解

随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的...

8285
来自专栏魏琼东

一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-演示使用报表构建UI-入库业务查询模块

回顾与说明     前面我们把“商品字典”、“商品入库”、“商品库存查询”三个模块已经概括或者详细的演示完了,这些模块涉及到简单数据的增、删、修,也涉及到复杂业...

2345
来自专栏互联网高可用架构

Java服务化系统线上应急和技术攻关,你必须拥有的那些应用层脚本和Java虚拟机命令

3333
来自专栏FreeBuf

VirtualApp技术黑产利用研究报告

一、 前言 VirtualApp(以下称VA)是一个App虚拟化引擎(简称VA)。VirtualApp创建了一个虚拟空间,你可以在虚拟空间内任意的安装、启动和卸...

3948
来自专栏一个会写诗的程序员的博客

《Kotin 极简教程》第16章 使用 Kotlin Native第16章 使用 Kotlin Native《Kotlin极简教程》正式上架:

不得不说 JetBrains 是一家务实的公司,各种IDE让人赞不绝口,用起来也是相当溜。同样的,诞生自 JetBrains 的 Kotlin 也是一门务实的编...

1343
来自专栏张善友的专栏

Windows Server AppFabric Caching

这套 AppFabric Caching 比我用过的 memcached 复杂多了,MSDN有一篇文章进行介绍Introduction to Caching w...

2189
来自专栏小白安全

可以被XSS利用的HTML标签和一些手段技巧

XSS让我们在渗透中有无限的可能,只要你发挥你的想象。  引用一位前辈总结的很贴切的一句话——“XSS使整个WEB体系变得具有灵性” 。 网上关于XSS的教程数...

4299
来自专栏慎独

AVPlayer初体验之边下边播与视频缓存

2.2K5
来自专栏向治洪

Hibernate之初体验

在开始学Hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装。一句不难,难道是真的不难还是眼高手低?       如果...

2007

扫码关注云+社区

领取腾讯云代金券