查看硬件信息
通常,你也许不需要知道你使用了什么样的硬件 — 你也许拥有的是一台来自比较小一点公司的组装机或者一台二手机。本月,我将介绍你可以用来查看你安装的硬件的工具。 第一步,使用lshw — 列举硬件工具。如果你使用普通用户执行,它会警告你需要使用root执行。因此,以sudo lshw执行。你将可以看到屏幕上显示你系统的信息。第一段将是常规信息,看起来就像下面这样:
jbernard-eeepc
description: Notebook
product: 700
vendor: ASUSTeK Computer INC.
version: 0129
serial: EeePC-1234567890
width: 32 bits
capabilities: smbios-2.5 dmi-2.5 smp-1.4 smp
configuration: boot=normal chassis=notebook
cpus=1 uuid=XXXXXX-XXXXX-XXXXX-XXXXX
这是我在我的ASUS EeePC执行的结果。你可以看到生产商是ASUSTeK, BIOS的版本是0129, 以及这是一台32位的单一CPU机器。更多的信息以下面的分类来说明:
core
firmware - motherboard and BIOS information
cpu - CPU information
cache - cache information
memory - memory information
bank - specific bank memory information
pci - PCI bus information
display - PCI display adapter
multimedia - PCI audio adapter
pci - other PCI devices
network - PCI network adapter
usb - USB devices
ide - IDE information
disk - individual disks
volume - volumes on this disk
对于多少信息可用的想法,以下内存段显示了我的EeePC的内存信息:
*-memory
description: System Memory
physical id: 1f
slot: System board or motherboard
size: 512MiB
*-bank
description: DIMM DDR2 Synchronous 400 MHz (2.5 ns)
product: PartNum0
vendor: Manufacturer0
physical id: 0
serial: SerNum0
slot: DIMM0
size: 512MiB
width: 64 bits
clock: 400MHz (2.5ns)
这是一个基本的集中成一个命令的工具,执行一次,它可以得到系统的所有信息。但是,如果你只想知道指定子系统的信息,怎么办呢?其实是有一整套的工具的,当你需要一些指定的信息或者想在一个脚本做一些系统查询时,这些工具将更有用。 你也许只想看看CPU,lscpu工具提供了类似如下的输出:
Architecture: i686
CPU op-mode(s): 32-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 13
Stepping: 8
CPU MHz: 571.427
你可以从中看出生产厂家,是否是32位还是64位的,准确的版本和型号,以及当前CPU频率。 如果你想知道你的显卡是否被X11支持,或者你是否需要第三方驱动,你可以使用lspci。该工具给出了所有插在你的PCI总线的设备的信息。输出类似下面:
00:02.0 VGA compatible controller: Intel Corporation
Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
00:02.1 Display controller: Intel Corporation
Mobile 915GM/GMS/910GML Express Graphics Controller (rev 04)
这个信息显示了在我的EeePC上的显卡控制器是一个Intel控制器。因此,如果你想,你现在就可以到Google搜索关于你的显卡的信息以及怎样最大限度的配置它。如果你想看看你系统上的USB设备,那么可以使用lsusb。在我的EeePC上,拥有一个SD卡,显示如下:
Bus 001 Device 002: ID 0951:1606 Kingston Technology
如果你对硬盘子系统感兴趣,你可以使用blkid工具来查看。该工具打印出所有可用的文件系统,类似如下的输出:
/dev/sda1: UUID=“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” TYPE=“ext2”
/dev/sda2: UUID=“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” TYPE=“swap”
/dev/sda3: UUID=“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” TYPE=“ext2”
/dev/sdb1: UUID=“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” TYPE=“ext2”
用这个工具,你可以了解到什么设备可用以及什么文件系统正用在它们上面。如果你想在*/etc/fstab*里的条目使用UUID,那相关联的UUID是可用的。
现在你知道你的系统使用了什么样的硬件,最后需要检查的是看看是否你的内核实际上正在使用可用硬件。在大部分现在的发行版本中,内核是被编译来使用模块的。你可以使用lsmod命令来查看哪个模块被加载了。你将得到像下面的一个别表:
agpgart 31788 2 drm,intel_agp
lp 7028 0
video 17375 1 i915
output 1871 1 video
你可以看到agpgart模块拥有31788字节的大小,以及被drm和intel_agp模块使用。
现在,希望你可以配置和优化你的硬件,使你最大的使用它们。如果你发现有其他的工具这里没有提到,我很愿意得知它们。