云存储开发团队

技术开创未来

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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分区的大小。

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

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

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

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

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

  1. 下面是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 环境下均已验证通过。

posted on 2013-04-11 18:12  DaoWoo  阅读(13321)  评论(0编辑  收藏  举报