您的位置:首页 > 运维架构 > Linux

Linux下查看硬件配置及详细信息

2013-04-11 18:12 609 查看
Linux下不同Windows下有很多能够查看硬件详情的配置及软件,不过通过linux提供的shell命令就能查看到我们所需的信息。

下面主要介绍常用查看硬件信息的命令。

1. 查看CPU各种信息

最常用的查看CPU信息的方法,是通过 /proc/cpuinfo文件查看

[root@CentOS-5U4-64 ~]# cat /proc/cpuinfo

/proc/cpuinfo文件提供了有关系统CPU的多种信息。如果需要查看某一详细信息可使用grep将其过滤出来

1.1. 查看CPU的型号

如果想查看CPU的型号,使用下述命令:

[root@CentOS-5U4-64 ~]# cat /proc/cpuinfo|grep "model name"

model name : Intel(R) Xeon(R) CPU E5506 @ 2.13GHz

查看CPU个数

[root@HOST41 ~]# cat /proc/cpuinfo |grep "physical id"

physical id : 0

physical id : 0

physical id : 0

physical id : 0

physical id : 1

physical id : 1

physical id : 1

physical id : 1

如果physical id 后面的编号是从0 开始的,如果1 则代表2颗CPU。

注:如果是安装了虚拟化的CentOS 及RedHat系统physical id 显示的信息不准确,其physical id 代表的时CPU的核数

1.2. 查看机器上CPU的核数

[root@HOST41 ~]# cat /proc/cpuinfo |grep "processor"

processor : 0

processor : 1

processor : 2

processor : 3

processor : 4

processor : 5

processor : 6

processor : 7

processor 编号也是从0开始的,上面所示现在是最终以7结尾,则说明机器共有8核,但是该机器有两颗CPU,所以每颗CPU都是4核的。

使用dmidecode也是能够查看到CPU信息的。

[root@HOST41 ~]# dmidecode |grep CPU

Socket Designation: CPU Node 1

Version: Intel(R) Xeon(R) CPU E5506 @ 2.13GHz

Socket Designation: CPU Node 0

Version: Intel(R) Xeon(R) CPU E5506 @ 2.13GHz

Internal Reference Designator: FAN7 - FAN7/CPU1

Internal Reference Designator: FAN8 - FAN8/CPU2

从这里能够看到CPU的型号(Version)及其插槽(Socket Designation)个数,这里共两个CPU插槽,每个上面都插着一颗Intel Xeon E5506@ 2.13GHz的 CPU。

上面通过查看/proc/cpuinfo文件内容,得到CPU的个数,命令如下:

cat /proc/cpuinfo |grep "physical id"

如果有些机器得到的CPU的个数信息不正确,那么就可以在这里查看到CPU的个数了。

2. 查看内存信息

2.1. 使用free查看内存大小

最简单查看内存大小的命令就是free了,通过free 可以查看。

[root@HOST41 ~]# free

total used free shared buffers cached

Mem: 32950784 15305440 17645344 0 1316824 13347500

-/+ buffers/cache: 641116 32309668

Swap: 34996216 0 34996216

上表中free输出的内容解释:

第二行(mem)

n total:总计物理内存的大小。

n used:已使用多大。

n free:可用有多少。

n Shared:多个进程共享的内存总额。

n Buffers/cached:磁盘缓存的大小。

第三行(-/+ buffers/cached)

n used:已使用多大。

n free:可用有多少。

第四行Swap

n 不过多解释了,就是Swap分区的大小。

第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别

这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是8908KB,已用内存是377116KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached。

第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别

这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是8908KB,已用内存是377116KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached。

所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached

下面是buffers与cached的区别。

Buffer:是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages。

Cache:是用来给文件做缓冲。

那就是说,buffers是用来存储,目录里面有什么内容,权限等等。而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,你可以试一下,先后执行两次命令#man XXX ,你就可以明显的感觉到第二次的开打的速度快很多。

Linux将你暂时不使用的内存作为文件和数据缓存,以提高系统性能,当你需要这些内存时,系统会自动释放使用free命令将used的值减去 buffer和cache的值就是你当前真实内存使用。

2.2. 使用dmidecode命令查看内存信息

其实使用free查到的信息仅仅是当前系统识别出的,能够使用的内存容量(可使用内存容量可以自己定义),并不能代表插入的内存的容量大小。

所以最准确还是使用dmidecode命令查看。

2.2.1. 查看内存大小及插槽个数

[root@HOST41 ~]# dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range

Size: 4096 MB

Size: 4096 MB

Size: 4096 MB

Size: No Module Installed

Size: 4096 MB

Size: No Module Installed

Size: 4096 MB

Size: 4096 MB

Size: 4096 MB

Size: No Module Installed

Size: 4096 MB

Size: No Module Installed

Size: 4096 kB

从这里能够查看出内存插槽的个数及插槽上面的内存容量大小。

上面”Size:”后面就是插槽内的内存大小。显示为No Module Installed则是没有内存条的插槽。

注:曙光机器通过此命令查询时,最后会多处一个4M大小的插槽,不知道怎么回事,主板本身只有12个插槽,统计出来却有13个,最后一个可能是虚拟出来的,不过还不太确定。DeLL C2100机器统计数据很正常。

2.2.2. 查看内存频率

如果你想知道当前机器上的内存的频率,而又苦于无法停机打开机箱查看时,可以用下述命令进行查看

[root@HOST42 ~]# dmidecode|grep -A16 "Memory Device"|grep 'Speed'

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 1333 MHz (0.8 ns)

Speed: 33 MHz (30.3 ns)

2.2.3. 主板支持的最大内存容量

如果需要升级内存,那么我们需要了解主板能够支撑多大的内存,以便于我们的硬件升级规划。可以通过下述命令查看主板支持的最大的内存的容量。

[root@HOST42 ~]# dmidecode|grep -P 'Maximum\s+Capacity'

Maximum Capacity: 384 GB

Maximum Capacity: 384 GB

Maximum Capacity: 4 MB

3. 查看硬盘信息

查看硬盘当然要使用 fdisk –l 命令了 ,能够详细列出硬盘的信息,如总共的大小,几个分区,每个分区从哪个柱面到哪个柱面,块数量等等。

[root@HOST42 ~]# fdisk -l

Disk /dev/sda: 145.9 GB, 145999527936 bytes

255 heads, 63 sectors/track, 17750 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 17750 142472452+ 8e Linux LVM

Disk /dev/sdb: 145.9 GB, 145999527936 bytes

255 heads, 63 sectors/track, 17750 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 17750 142576843+ 83 Linux

一般硬盘的编号都是从a开始,按照字母排列顺序依此类推。一般IDE接口的硬盘显示出的为/dev/hda~/dev/hdz,如果是Sata口及SAS口的硬盘则是显示为/dev/sda~/dev/sdz(现在服务器大多数均为Sata盘或SAS盘)。

/dev/sda 或/dev/hda代表一块硬盘。

n /dev/sda1 ~ /dev/sda”n” ,代表的时sda盘上的第几个分区。

n “n”为数字从1开始依次排序。

4. 查看网卡信息

查看网卡型号,Linux操作系统,有时候会遇到无法找到网卡驱动,这个时候查看网卡型号的命令就能够帮助我们定位网卡型号。然后就可以根据网卡型号寻找对性的网卡去动了。

最常用的查看网卡型命令有lspci及kudzu。

4.1. 使用Lspci查看网卡型号

[root@HOST42 ~]# lspci |grep Ethernet

02:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)

07:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)

07:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)

4.2. 使用Kudzu查看网卡型号

[root@HOST42 ~]# kudzu -p -c network

-

class: NETWORK

bus: PCI

detached: 0

device: eth0

driver: e1000e

desc: "Intel Corporation 82572EI Gigabit Ethernet Controller (Copper)"

network.hwaddr: 00:15:17:db:e3:99

vendorId: 8086

deviceId: 107d

subVendorId: 8086

subDeviceId: 1082

pciType: 1

pcidom: 0

pcibus: 2

pcidev: 0

pcifn: 0

-

class: NETWORK

bus: PCI

detached: 0

device: eth1

driver: igb

desc: "Intel Corporation 82576 Gigabit Network Connection"

network.hwaddr: 00:30:48:f2:66:dc

vendorId: 8086

deviceId: 10c9

subVendorId: 15d9

subDeviceId: 10c9

pciType: 1

pcidom: 0

pcibus: 7

pcidev: 0

pcifn: 0

-

class: NETWORK

bus: PCI

detached: 0

device: eth2

driver: igb

desc: "Intel Corporation 82576 Gigabit Network Connection"

network.hwaddr: 00:30:48:f2:66:dd

vendorId: 8086

deviceId: 10c9

subVendorId: 15d9

subDeviceId: 10c9

pciType: 1

pcidom: 0

pcibus: 7

pcidev: 0

pcifn: 1

4.3. 检查网卡现速率

有时候,命名网卡为千兆网卡,交换机为千兆交换机,但是速度却只有百兆速度。那么就需要查看是否为网线的问题,在linux系统下可先查看一下,网卡现在的状态。

[root@HOST42 ~]# ethtool eth1

Settings for eth1:

Supported ports: [ TP ]

Supported link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Full

Supports auto-negotiation: Yes

Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

1000baseT/Full

Advertised auto-negotiation: Yes

Speed: 1000Mb/s

Duplex: Full

Port: Twisted Pair

PHYAD: 1

Transceiver: internal

Auto-negotiation: on

Supports Wake-on: umbg

Wake-on: g

Current message level: 0x00000003 (3)

Link detected: yes

使用ethtool 查看当前网卡速度需要保证网线已经联通。查看网卡类型可以不要联通网络。

上述命令在CentOS 5.4 环境下均已验证通过。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: