linux查看所在服务器硬件、软件情况

lonesomer 2011-03-18

/proc下主要文件介绍

对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:

Cpuinfo--主机CPU信息

Dma--主机DMA通道信息

Filesystems--文件系统信息

Interrupts--主机中断信息

Ioprots--主机I/O端口号信息

Meminfo--主机内存信息

Version Linux--版本信息

查看CPU信息(大而全的):

cat /proc/cpuinfo

注意:processor 0 – n, 并不代表就是真实的cpu核数.

因为intel有超线程技术(HT即HyperThread功能),它可以在逻辑上分一倍数量的cpu出来.光看cpuinfo里的processor数量是不准的.

真实的核数, 应该是 cpu cores 这个参数值.

查看CPU启动信息:

dmesg | grep CPU

查看物理CPU的个数

#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

查看逻辑CPU的个数

#cat /proc/cpuinfo |grep "processor"|wc -l

查看CPU是几核

#cat /proc/cpuinfo |grep "cores"|uniq

查看CPU的主频

#cat /proc/cpuinfo |grep MHz|uniq

查看cpu型号

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

2Intel(R)Core(TM)[email protected]

(看到有2个逻辑CPU, 也知道了CPU型号)

查看cpu运行位数:

getconf  LONG_BIT

返回32 or 64,表示运行在32位或者64位模式下

返回32并不代表该cpu不支持64位计算

查看cpu是否支持64bit计算

cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l

结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit

在aix和ubuntu上可以使用lscpu命令查看cpu信息

查看内存信息

cat /proc/meminfo

free -m

totalusedfreesharedbufferscached

Mem:74873890121304

-/+buffers/cache:313435

Swap:7680768

可以看到总内存为748M,使用了738M,空闲9M,交换空间768M还没使用

查看板卡信息:

cat /proc/pci

查看网卡相关信息

方法一:

ethtooleth0采用此命令可以查看到网卡相关的技术指标

(本人测试过不一定所有网卡都支持此命令)

ethtool-ieth1加上-i参数查看网卡驱动

可以尝试其它参数查看网卡相关技术参数

方法二:

也可以通过dmesg|grepeth0等看到网卡名字(厂家)等信息

通过查看/etc/sysconfig/network-.s/ifcfg-eth0

可以看到当前的网卡配置包括IP、网关地址等信息。

当然也可以通过ifconfig命令查看。

查看USB设备:

cat /proc/bus/usb/devices

or

lsusb

查看键盘和鼠标

cat /proc/bus/input/devices

查看各设备的中断请求(IRQ):

cat /proc/interrupts

查看硬盘型号和缓存:

hdparm  -i /dev/hda

(注:hdparm不支持sata盘,需重新编译内核,

hdparm -i /dev/sda

/dev/sda: HDIO_GET_IDENTITY failed: Invalid argument

另hdparm参数根据操作系统版本会改变,可以用hdparm --help来查看

                    smartctl -i /dev/sda

可以用smartctl -h查看帮助。)

查看硬盘接口:

lspci -v |grep IDE

查看硬盘block块设置:

tune2fs -l /dev/sda1

查看硬盘分区:

cat /proc/partitions

fdisk -l 

查看硬盘软raid:

cat /proc/mdstat

硬raid需要用raid厂商工具查看。

查看软件系统信息

查看操作系统版本及其类型信息:

lsb_release -a

cat /etc/issue

cat /etc/redhat-release

cat /proc/version

查看操作系统内核信息:

uname -a

查看操作系统位数信息:

uname -m

返回x86_64,表示是64位OS

返回x86_32,表示是32位OS

查看linxu gcc版本号:

gcc -v

查看jdk版本号

java -version

查看端口

netstat -an|grep xxxx

-----------------------------

挂载iso镜像: mount -o loop *.iso mount_point

---------------------------------------------

AIX操作系统

AIX的硬件信息可以通过prtconf命令看到。

1.查看逻辑CPU个数

#pmcycles -m

CPU 0 runs at 4204 MHz

CPU 1 runs at 4204 MHz

CPU 2 runs at 4204 MHz

CPU 3 runs at 4204 MHz

CPU 4 runs at 4204 MHz

CPU 5 runs at 4204 MHz

CPU 6 runs at 4204 MHz

CPU 7 runs at 4204 MHz

上面描述有8个CPU,CPU的主频为4.2G赫兹

2. 查看物理CPU个数#prtconf|grep Processors

Number Of Processors: 4

3. 确定CPU是几核用逻辑CPU除以物理CPU就是核数。

4. 查看单个CPU的详细信息#lsattr -E -l proc0

frequency   4204000000     Processor Speed       False

smt_enabled true           Processor SMT enabled False

smt_threads 2              Processor SMT threads False

state       enable         Processor state       False

type        PowerPC_POWER6 Processor type        False

附录:cpu超线程介绍

CPU生产商为了提高CPU的性能,通常做法是提高CPU的时钟频率和增加缓存容量。不过目前CPU的频率越来越快,如果再通过提升CPU频率和增加缓存的方法来提高性能,往往会受到制造工艺上的限制以及成本过高的制约。

尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程(Hyper-Threading,简称“HT”)”技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行效率。

采用超线程及时可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。

超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。

虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每各CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。

英特尔P4 超线程有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式),当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行,把资源集中于单个逻辑CPU中,让单线程程序不会因其中一个逻辑CPU闲置而减低性能,但由于被停止运行的逻辑CPU还是会等待工作,占用一定的资源,因此Hyper-Threading CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,但性能差距不会太大。也就是说,当运行单线程运用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题。

需要注意的是,含有超线程技术的CPU需要芯片组、软件支持,才能比较理想的发挥该项技术的优势。目前支持超线程技术的芯片组包括如:英特尔i845GE、PE及矽统iSR658 RDRAM、SiS645DX、SiS651可直接支持超线程;英特尔i845E、i850E通过升级BIOS后可支持;威盛P4X400、P4X400A可支持,但未获得正式授权。操作系统如:Microsoft Windows XP、Microsoft Windows 2003,Linux kernel 2.4.x以后的版本也支持超线程技术。

相关推荐

moneyispaper / 0评论 2016-10-26