Linux系统下查看PCIE卡的带宽以及速率

合集下载

如何在Linux系统中查看网络接口的传输速率

如何在Linux系统中查看网络接口的传输速率

如何在Linux系统中查看网络接口的传输速率在Linux系统中,了解网络接口的传输速率对于网络管理员和系统工程师来说是非常重要的。

了解网络接口的传输速率可以帮助他们监控网络流量,诊断网络问题,并做出进一步的优化和调整。

本文将介绍如何在Linux系统中查看网络接口的传输速率。

一、使用ifconfig命令查看网络接口信息ifconfig命令是Linux系统中用于查看和配置网络接口的命令。

通过使用ifconfig命令,可以轻松地查看网络接口的IP地址、MAC地址、网络掩码等信息。

要查看网络接口的传输速率,可以先使用ifconfig命令查看网络接口的详细信息,然后找到传输速率的相关信息。

打开终端,并输入以下命令:```ifconfig```执行上述命令后,系统会列出所有的网络接口及其详细信息。

在输出的结果中,可以找到以"RX bytes"和"TX bytes"开头的行,这些行提供了关于接收和发送的数据传输量的信息。

其中,"RX bytes"表示接收到的数据字节数,"TX bytes"表示发送的数据字节数。

这些信息可以用来计算网络接口的传输速率。

二、在Linux系统中使用vnstat命令查看实时流量除了ifconfig命令之外,还可以使用vnstat命令来查看Linux系统中的实时流量。

vnstat是一款用于监控网络流量和传输速率的工具,可以提供详细的网络接口信息和图表。

要使用vnstat命令,需要先安装vnstat工具。

在终端中输入以下命令来安装vnstat:```sudo apt-get install vnstat```安装完成后,使用以下命令来查看实时网络流量和传输速率:```vnstat -l```执行上述命令后,系统会实时显示网络接口的传输速率和流量信息,并会持续更新。

三、使用ip命令查看网络接口信息在较新的Linux发行版中,可以使用ip命令来查看网络接口的信息。

Linux系统下查看PCIE卡的带宽以及速率

Linux系统下查看PCIE卡的带宽以及速率

Linux系统下查看PCIE卡的带宽以及速率在 Linux 下要如何得知 PCI-E Bus 使用的是 Gen(Generation) 1 ��是 Gen2��是新一代的 Gen 3 �m然使用 #lspci 只要可以看到目前系�y所有的�b置.但是好像看不到 PCI-E Bus 所�裼玫氖悄囊淮�的 PCI-E.[root@benjr ~]# lspci00:00.0 Host bridge: Intel Corporation 3200/3210 Chipset DRAM Controller (rev 01)00:01.0 PCI bridge: Intel Corporation 3200/3210 Chipset Host-Primary PCI Express Bridge (rev 01) 00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02) 00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02) 00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02) 00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 02) 00:1c.1 PCI bridge: Intel Corporation82801I (ICH9 Family) PCI Express Port 6 (rev 02) 00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02)00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1(rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface Controller (rev 02)00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5722Gigabit Ethernet PCI Express 04:03.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)09:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)09:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03)0c:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1064ET PCI-Express Fusion-MPT SAS如果有�b置是 unknown 的,需要更新 /usr/share/hwdata/pci.ids ���⒖几�新方式 http://benjr.tw/node/88首先我��先�硌}��一下 PCI-E bus 的速度上限.?PCI Express 1.1使用���Φ碗��旱牟钗挥���排��(low-voltage differential signaling pairs),分�e各跑2.5GBit/s速度,下面的速度是以���Φ乃俣榷�言. x1 有���� 2.5 G x 2 = 5Gbps 的�l��.x1 2.5Gbps(20% overhead - PCI-e 在每八��位元的�Y料串上用十位元�砑右跃��a) 2Gbps (250 MB/sec) x4 10Gbps 8Gbps (1 GB/sec)x8 20Gbps 16Gbps (2GB/sec) x16 40Gbps 32Gbps (4GB/sec)?PCI Express 2.0PCI-SIG 的 PCI Express 2.0��格,新版每�lLane的�蜗蝾l����2.5Gbps倍增到5Gbps.x1 5Gbps(20% overhead-PCIe�K且在每八��位元的�Y料串上用十位元�砑右跃��a) 4Gbps (500 MB/sec) (5G*0.8)Mb/8=500MBx4 20Gbps 16Gbps (2 GB/sec) x8 40Gbps 32Gbps (4 GB/sec) x16 80Gbps64Gbps (8 GB/sec)我的系�y上有一�� Qlogic Chipset �� 2432 的 4G Fiber Channel HBA,要如何得知目前系�y的 PCI-E Bus 的速度呢!!首先要查出�@�� HBA 的�b置名�Q.[root@benjr ~]# lspci -n 00:00.0 0600: 8086:29f0 (rev 01) 00:01.0 0604: 8086:29f1 (rev 01) 00:1a.0 0c03: 8086:2937 (rev 02) 00:1a.1 0c03: 8086:2938 (rev 02) 00:1a.2 0c03: 8086:2939 (rev 02) 00:1a.7 0c03: 8086:293c (rev 02)00:1c.0 0604: 8086:2948 (rev 02) 00:1c.1 0604: 8086:294a (rev 02) 00:1c.2 0604: 8086:2940 (rev 02) 00:1d.0 0c03: 8086:2934 (rev 02) 00:1d.1 0c03: 8086:2935(rev 02) 00:1d.2 0c03: 8086:2936 (rev 02) 00:1d.7 0c03: 8086:293a (rev 02)00:1e.0 0604: 8086:244e (rev 92) 00:1f.0 0601: 8086:2916 (rev 02) 00:1f.2 0106: 8086:2922 (rev 02) 00:1f.3 0c05: 8086:2930 (rev 02) 03:00.0 0200: 14e4:165a04:03.0 0300: 1002:515e (rev 02) 09:00.0 0c04: 1077:2432 (rev 03) 09:00.10c04: 1077:2432 (rev 03) 0c:00.0 0100: 1000:0056 (rev 02)可以看到目前 Qlogic 2432 的 PCI 名�Q以及�b置名�Q�� 09:00.0 0c04: 1077:2432 (rev 03) 先�砜纯催@些�底炙�代表的意�x. 前面的 3 ���底� \是各代表什�N意思.在 PCI 的�b置使用三������用�懋�作�R�e值,���e�� 1. \�R流排(bus number)\2. \�b置(device number) 以及 3. \功能(function number)\所以����的 09:00.0 就是 bus number = 09 ,device number = 00 function = 0 .�@3���������M合成一�� 16-bits 的�R�e�a,1. �R流排(bus number) 8bits 2^8 至多可�B接 256 ���R流排(0 to ff),2. �b置(device number) 5bits 2^5 至多可接 32 �N�b置(0 to 1f) 以及3. 功能(function number) 3bits 2^3 至多每�N�b置可有 8 ��功能(0 to 7). �P於更多 #lspci 的�Y�����⒖� http://benjr.tw/node/543不�^在 Linux 使用 Class ID + Vendor ID + Device ID �泶�表�b置,如����的 0c04: 1077:2432 所代表�b置名�Q�� (Class ID = 0c04 ,Vendor ID = 1077,Device ID =2432) .? ? ?0c04 : class 0c04 表示是 \Channel controller\1077 : vendor ID 1077 �u造�S商 \Corp\2432 : device ID 2432 �a品名�Q \4Gb Fiber Channel to PCI Express HBA\你��我怎�N知道 ID �c名�Q是怎�N����的很���沃苯��⒖�/usr/share/hwdata/pci.ids �n案即可.接下�硗高^指令 #lspci -n -d 1077:2432 -vvv |grep -i width 就可以得知 PCI-Express 的速度了.[root@benjr ~]# lspci -n -d 1077:2432 -vvv |grep -i width LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s, Latency L0 <4us, L1 unlimited LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s, Latency L0 <4us, L1 unlimited LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- ?LnkSta :目前系�y所提供的速度 PCI-Express 1.0 ( 2.5G ) ,如果是 PCI-Express 2.0 那速度是 5G?LnkCap :�b置目前所�裼玫乃俣�.LnkSta 和 LnkCap �@����速度有可能不一�� ,系�y所提供的是 PCI Express 是 2.0 但�b置��是使用 1.0 的.个人分类: Linux感谢您的阅读,祝您生活愉快。

linux 查看显卡

linux 查看显卡

linux 查看显卡
在Linux系统中,可以通过多种方法来查看显卡相关信息,下面我将简单介绍几种常用的方法:
1. 使用命令行工具 lspci:lspci 命令用于列出当前系统中的PCI 设备信息,包括显卡。

在终端中输入以下命令:
```
lspci | grep -i vga
```
这将列出系统中所有显卡的相关信息。

2. 使用命令行工具 lshw:lshw 命令用于列出系统硬件信息,包括显卡。

在终端中输入以下命令:
```
sudo lshw -C display
```
这将列出系统中所有显卡的详细信息。

3. 使用命令行工具 nvidia-smi:如果你使用的是英伟达(NVIDIA)的显卡,可以使用 nvidia-smi 命令来查看显卡相关信息。

在终端中输入以下命令:
```
nvidia-smi
```
这将显示当前系统中英伟达显卡的状态、温度、使用情况等信息。

4. 使用图形界面工具 System Profiler and Benchmark (简称
Sysprof):Sysprof 是一个图形界面工具,用于查看系统硬件信息和性能。

在终端中输入以下命令来安装 Sysprof:
```
sudo apt-get install sysprof
```
安装完成后,在应用程序菜单中找到 Sysprof 并打开,然后在左侧的硬件选项卡下查看显卡相关信息。

以上是几种在Linux系统中查看显卡相关信息的常用方法,你可以根据实际情况选择适合自己的方法来查看显卡信息。

Linux命令行中的硬件信息查看和驱动管理

Linux命令行中的硬件信息查看和驱动管理

Linux命令行中的硬件信息查看和驱动管理在Linux命令行中,我们可以通过一些命令来查看硬件信息和管理驱动,这对于系统维护和故障排除非常重要。

本文将介绍几个常用的命令及其用法,帮助您快速获取硬件信息和管理驱动。

1. 查看硬件信息1.1 lshw命令lshw(或者lswhw)是一个用于查看硬件信息的命令,可以列出系统中所有硬件的详细信息,包括处理器、内存、硬盘、网卡等。

使用示例:```$ sudo lshw```运行以上命令后,您将看到完整的硬件信息列表,可以通过滚动查看或者使用管道和grep命令过滤感兴趣的部分。

1.2 lspci命令lspci命令用于列出系统中所有PCI设备的信息,包括显卡、网卡、声卡等。

使用示例:```$ lspci```该命令会输出PCI设备的详细信息,可以通过管道和grep进行过滤。

1.3 lsusb命令lsusb命令用于列出系统中所有USB设备的信息。

使用示例:```$ lsusb```该命令会输出USB设备的详细信息,可以通过管道和grep进行过滤。

2. 管理驱动2.1 modprobe命令modprobe命令用于加载和卸载Linux内核模块,包括驱动程序。

使用示例:```$ sudo modprobe <module_name> // 加载模块$ sudo modprobe -r <module_name> // 卸载模块```其中,`<module_name>`为要加载或卸载的模块名称。

2.2 lsmod命令lsmod命令用于列出当前已加载的内核模块。

使用示例:```$ lsmod```该命令会输出已加载模块的列表,包括模块名称、使用次数等信息。

2.3 rmmod命令rmmod命令用于卸载已加载的内核模块。

使用示例:```$ sudo rmmod <module_name>```其中,`<module_name>`为要卸载的模块名称。

如何在Linux系统中查看网络连接的速度限制

如何在Linux系统中查看网络连接的速度限制

如何在Linux系统中查看网络连接的速度限制在Linux系统中,我们经常需要查看网络连接的速度限制,以便了解当前网络状态和进行网络调优。

本文将介绍几种常用的方法来查看网络连接的速度限制。

一、使用ifconfig命令查看网络接口的速度限制ifconfig命令用于显示和配置网络接口的信息,包括速度限制。

以下是查看网络接口速度限制的命令示例:```ifconfig eth0```上述命令将显示eth0网卡的详细信息,其中包括速度限制。

可以通过查找"RX bytes"和"TX bytes"一行中的"Bit Rate"来获取速度限制。

例如:```Bit Rate=100 Mb/s```表示该网卡的速度限制为100 Mb/s。

二、使用ethtool命令查看网络连接的速度限制ethtool是一个用于配置和显示以太网设备驱动程序参数的工具。

使用ethtool命令可以方便地查看网络连接的速度限制。

以下是查看网络连接速度限制的命令示例:```ethtool eth0```上述命令将显示eth0网卡的详细信息,其中包括速度限制。

可以通过查找"Speed"一行来获取速度限制。

例如:```Speed: 100Mb/s```表示该网卡的速度限制为100 Mb/s。

三、使用nmap命令查看网络连接的速度限制nmap是一个用于网络探测和安全审计的著名工具。

除了常用的端口扫描功能外,nmap还可以用于查看网络连接的速度限制。

以下是使用nmap命令查看网络连接速度限制的命令示例:```nmap --iflist```上述命令将显示系统中的网络接口列表,并包含每个接口的速度限制信息。

可以通过查找"Linkspeed"一行来获取速度限制。

例如:```Linkspeed: 100Mbit```表示该网卡的速度限制为100 Mb/s。

四、使用iperf命令测试网络连接的速度限制iperf是一个用于测量网络带宽的工具,也可以用于测试网络连接的速度限制。

linux下测试带宽的方法

linux下测试带宽的方法

linux下测试带宽的方法
在Linux下测试带宽的方法有多种,以下是其中几种常用的方法:
1. 使用iperf命令:iperf是一个网络性能测试工具,可以用于测量网络的吞吐量和带宽。

可以通过在服务器端和客户端之间运行iperf来测试网络带宽。

首先,在服务器上运行iperf -s命令启动iperf服务,然后在客户端上运行iperf -c <server_ip>来连接服务器并进行带宽测试。

2. 使用speedtest-cli命令:speedtest-cli是一个基于Python 的命令行工具,可以用于测试网络速度。

可以使用以下命令安装speedtest-cli:
sudo apt-get install speedtest-cli
安装完成后,可以直接在终端中运行speedtest-cli命令进行带宽测试。

3. 使用nuttcp命令:nuttcp是一个用于测试TCP和UDP性能的工具。

可以使用以下命令安装nuttcp:
sudo apt-get install nuttcp
安装完成后,可以使用类似以下命令进行带宽测试:
nuttcp -t -i1 <server_ip>
其中,-t表示使用TCP协议进行测试,-i1表示每秒发送一次数据包。

以上是一些常用的在Linux下测试带宽的方法,根据具体需求选择适合的方法进行测试。

linux网卡速率和双工模式的配置

linux网卡速率和双工模式的配置

Linux系统网卡速率和双工模式的配置1、mii-tool 配置网络设备协商方式的工具;1.1 mii-tool 介绍;mii-tool - view, manipulate media-independent interface status (mii-tool 是查看,管理介质的网络接口的状态)有时网卡需要配置协商方式,比如10/100/1000M的网卡半双工、全双工、自动协商的配置。

但大多数的网络设备是不用我们来修改协商,因为大多数网络设置接入的时候,都采用自动协商来解决相互通信的问题。

不过自动协商也不是万能的,有时也会出现错误,比如丢包率比较高,这时就要我们来指定网卡的协商方式。

mii-tool 就是能指定网卡的协商方式。

下面我们说一说mii-tool的用法;1.2 mii-tool 的用法;mii-tool 在更改网络设备通信协商方式的方法比较简单,用-v 参数来查看网络接口的状态;看下面的例子;mii-tool 更改网络接口协商的方法;[root@localhost ~]# mii-tool --helpusage: mii-tool [-VvRrwl] [-A media,... | -F media] [interface ...]-V, --version display version information-v, --verbose more verbose output 注:显示网络接口的信息;-R, --reset reset MII to poweron state 注:重设MII到开启状态;-r, --restart restart autonegotiation 注:重启自动协商模式;-w, --watch monitor for link status changes 注:查看网络接口连接的状态变化;-l, --log with -w, write events to syslog 注:写入事件到系统日志;-A, --advertise=media,... advertise only specified media 注:指令特定的网络接口;-F, --force=media force specified media technology 注:更改网络接口协商方式;media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,(to advertise both HD and FD) 100baseTx, 10baseT*实例一:查看网络接口的协商状态;[root@localhost ~]# mii-tool -v eth0eth0: negotiated 100baseTx-FD, link okproduct info: vendor 00:00:00, model 0 rev 0basic mode: autonegotiation enabledbasic status: autonegotiation complete, link okcapabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HDadvertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HDlink partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control注:上面的例子,我们可以看得到是自动协商。

如何在Linux系统中查看系统硬件信息

如何在Linux系统中查看系统硬件信息

如何在Linux系统中查看系统硬件信息在使用Linux系统时,了解计算机的硬件信息对于优化性能、故障排除和系统管理都非常重要。

幸运的是,在Linux中,我们可以使用一些命令和工具来查看系统的硬件信息。

本文将介绍在Linux系统中查看系统硬件信息的几种常用方法。

1. 使用lshw命令lshw是Linux硬件检测工具,它可以提供完整的硬件信息。

要使用lshw命令,请按照以下步骤操作:打开终端窗口,输入以下命令并按下回车键:```sudo lshw```系统可能会要求你输入管理员密码以获得root访问权限。

一旦通过验证,lshw将会列出所有系统硬件的详细信息,包括处理器、内存、磁盘、显卡等。

你可以根据需要滚动查看或使用管道将结果输出到文件中。

2. 使用dmidecode命令dmidecode是一个命令行工具,用于从BIOS中读取硬件信息。

要使用dmidecode命令,请按照以下步骤操作:打开终端窗口,输入以下命令并按下回车键:sudo dmidecode```dmidecode将显示系统的各种硬件组件的详细信息,包括处理器、内存、磁盘、主板、BIOS等。

通过阅读该命令的输出,你可以了解系统的硬件规格和配置信息。

3. 使用lspci命令lspci是一个用于列出PCI设备信息的命令。

要使用lspci命令,请按照以下步骤操作:打开终端窗口,输入以下命令并按下回车键:```lspci```lspci命令将列出所有PCI设备的信息,包括网络适配器、声卡、显卡、USB控制器等。

你可以根据需要滚动查看或使用管道将结果输出到文件中。

4. 使用lsblk命令lsblk命令可以用来显示系统中所有块设备的信息,包括硬盘、分区和挂载点。

要使用lsblk命令,请按照以下步骤操作:打开终端窗口,输入以下命令并按下回车键:lsblk```lsblk命令将显示系统中所有块设备的树形结构,包括设备名称、大小、挂载点等。

通过阅读该命令的输出,你可以了解系统中存储设备的配置情况。

linux下pci的数据读写流程

linux下pci的数据读写流程

linux下pci的数据读写流程Linux下PCI的数据读写流程一、引言PCI(Peripheral Component Interconnect,外设互联)是一种计算机总线标准,用于连接计算机的主板与外部硬件设备。

在Linux系统下,PCI设备的数据读写是通过访问设备的寄存器来实现的。

本文将介绍Linux下PCI的数据读写流程。

二、PCI设备的识别和配置在Linux系统启动时,会进行PCI总线的枚举和设备的识别与配置。

Linux内核会扫描PCI总线上的设备,并为每个设备分配唯一的设备标识符,称为PCI设备号。

系统将会为每个PCI设备分配资源,并将设备驱动程序与设备进行匹配。

三、设备驱动程序的加载与初始化在设备识别和配置完成后,系统会加载与该设备匹配的驱动程序。

设备驱动程序是对设备进行管理和控制的软件模块。

当驱动程序被加载时,会进行初始化操作,包括分配内存空间、注册中断处理程序等。

四、设备寄存器的映射设备驱动程序在初始化过程中需要访问设备的寄存器来进行数据的读写。

为了实现对设备寄存器的访问,驱动程序需要将设备寄存器映射到内核空间。

在Linux中,可以通过ioremap函数将设备寄存器的物理地址映射到内核虚拟地址空间。

五、数据读写操作一旦设备寄存器映射完成,驱动程序就可以通过读写内核虚拟地址来实现对设备寄存器的读写操作。

通常,设备寄存器是以字节为单位进行读写的。

驱动程序可以使用readb、readw、readl函数来读取设备寄存器的值,使用writeb、writew、writel函数来向设备寄存器写入数据。

六、同步与互斥在进行数据读写操作时,为了保证数据的正确性和一致性,需要进行同步与互斥操作。

同步操作可以通过在读写操作前后使用memory barrier指令来实现,确保读写操作的顺序性。

互斥操作可以通过自旋锁或信号量机制来实现,防止多个进程同时对设备进行读写操作。

七、数据传输与中断处理在进行数据读写操作的同时,设备可能会触发中断。

如何在Linux系统中查看系统网络带宽使用情况

如何在Linux系统中查看系统网络带宽使用情况

如何在Linux系统中查看系统网络带宽使用情况Linux系统中,网络带宽使用情况的监控对于系统管理员来说是非常重要的一项任务。

通过监控和了解网络带宽的使用情况,管理员可以及时发现网络故障、瓶颈和异常情况,并采取相应的措施解决问题。

本文将介绍几种常用的方法来查看Linux系统中的网络带宽使用情况。

一、ifconfig命令ifconfig(英文全称:interface configuration)是一个控制和配置TCPIP网络接口的命令行工具。

在Linux系统中,ifconfig常常被用来查看和配置网络接口信息,包括IP地址、子网掩码、广播地址等。

除此之外,ifconfig还可以显示网络接口的传输速率和网络流量统计信息。

要查看系统网络带宽使用情况,可以通过ifconfig命令获取各个接口的信息,包括每个接口的入站(RX)和出站(TX)流量统计数据。

可以使用以下命令来获取网络接口信息:```ifconfig```命令执行后,系统将列出各个网络接口的信息,包括接口名称(如eth0、eth1等)、IP地址、子网掩码等。

在信息的最后部分,可以找到RX和TX的流量统计数据,单位为字节。

二、sar命令sar(System Activity Reporter)是Linux系统中的一个用于收集、报告和存储系统活动信息的工具。

它可以提供关于CPU使用率、内存使用率、磁盘I/O、网络带宽使用率等各方面的统计数据。

要查看系统网络带宽使用情况,可以使用sar命令结合-n DEV选项来获取网络设备的统计数据。

具体命令如下:```sar -n DEV 1```上述命令中,-n DEV表示获取网络设备的统计数据,1表示每隔1秒钟获取一次统计数据。

执行命令后,系统将在终端输出各个网络设备的统计数据,包括接口名称、接收数据包/字节、发送数据包/字节等。

三、vnstat命令vnstat是一款简单实用的网络流量监控工具,可以实时统计和显示网络带宽使用情况。

Linux系统之lspci命令介绍

Linux系统之lspci命令介绍

Linux系统之lspci命令介绍lspci,顾名思义,就是显示所有的pci设备信息。

pci是一种总线,而通过pci总线连接的设备就是pci设备了。

如今,我们常用的设备很多都是采用pci总线了,如:网卡、存储等。

下面就简单介绍下该命令。

lspci:显示所有的pci设备信息。

包括设备的BDF,设备类型,厂商信息等。

lspci -t [BDF]:显示指定BDF号的设备信息。

lspci -m/-mm:以一种机器可读的格式来显示pci设备信息。

下面的实例可以看出其具体的区别。

[plain] view plain copyprint?1.# lspci -s ff:13.12.3.ff:13.1 System peripheral: Intel Corporation Broadwell Me mory Controller 0 - Target Address/Thermal/RAS (rev 03)4.5.# lspci -mm -s ff:13.16.7.ff:13.1 "System peripheral" "Intel Corporation" "Broadwell Memory Controller 0 - Target Address/Thermal/RAS" -r03 "Intel Corporation" "Broadwell Memory Controller 0 - Target Address/Thermal/RAS"lspci -t:以树的形式显示pci设备信息。

lspci -v/-vv/-vvv:显示详细的pci设备信息,v越多,越详细,当然,上限3个。

[plain] view plain copyprint?1.# lspci -s ff:1f.22.ff:1f.2 System peripheral: Intel Corporation Broadwell Pow er Control Unit (rev 03)3.4.# lspci -v -s ff:1f.25.ff:1f.2 System peripheral: Intel Corporation Broadwell Pow er Control Unit (rev 03) Flags: fast devsel6.7.# lspci -vv -s ff:1f.28.9.ff:1f.2 System peripheral: Intel Corporation Broadwell Pow er Control Unit (rev 03)10.11.Control: I/O- Mem- BusMaster- SpecCycle- MemWINV - VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-12.13.Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=f ast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-14.15.# lspci -vvv -s ff:1f.216.17.ff:1f.2 System peripheral: Intel Corporation Broadwell Power Control Unit (rev 03)18.19.Control: I/O- Mem- BusMaster- SpecCycle- MemWINV - VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-21.Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=f ast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-lspci -x/-xxx/-xxxx:-x以16进制信息显示pci配置空间;-xxx 显示部分读配置空间会crash的设备;-xxxx显示PCI-x2.0或者PCI-e总线扩展的配置空间。

Linux终端命令之系统硬件信息查看

Linux终端命令之系统硬件信息查看

Linux终端命令之系统硬件信息查看在Linux操作系统中,终端命令提供了一种快速方便的方式来查看系统硬件信息。

通过使用合适的命令,我们可以获取关于CPU、内存、硬盘和网络等方面的详细信息。

本文将介绍几个常用的Linux终端命令,用于查看系统硬件信息。

1. 查看CPU信息首先,我们可以使用"cat /proc/cpuinfo"命令来查看CPU的详细信息。

该命令会输出关于每个CPU核心的信息,包括型号、频率和缓存等。

2. 查看内存信息要查看系统的内存信息,可以使用"cat /proc/meminfo"命令。

该命令可以显示可用内存、已用内存和缓存等信息。

3. 查看硬盘信息使用"df -h"命令可以查看硬盘的使用情况和可用空间。

该命令将列出每个文件系统的挂载点、容量和已用空间等信息。

若要查看更详细的硬盘信息,可以使用"sudo fdisk -l"命令。

该命令将显示所有磁盘分区的信息,包括分区类型和大小等。

4. 查看网络信息要查看网络接口的信息,可以使用"ifconfig"命令。

该命令将列出所有网络接口的配置信息,包括IP地址、MAC地址和网络状态等。

若要查看网络连接的详细信息,可以使用"netstat"命令。

例如,"netstat -tuln"命令可显示当前打开的所有TCP和UDP端口。

5. 查看其他硬件信息除了CPU、内存、硬盘和网络信息之外,我们还可以使用其他命令来查看其他硬件设备的信息。

例如,要查看显示设备信息,可以使用"lspci | grep VGA"命令。

另外,要查看声卡信息,可以使用"lspci | grep Audio"命令。

总结:通过使用以上的Linux终端命令,我们可以方便快捷地查看系统硬件信息。

从CPU到硬盘再到网络设备,这些命令可以帮助我们详细了解系统的硬件配置和性能情况。

Linux终端命令中的硬件信息查询

Linux终端命令中的硬件信息查询

Linux终端命令中的硬件信息查询Linux操作系统提供了丰富的终端命令,其中包括一些用于查询硬件信息的命令,本文将介绍几个常用的终端命令,用于查询硬件信息。

一、CPU信息查询1. lscpu命令lscpu命令可以用来显示CPU的相关信息,包括CPU型号、核心数、线程数等。

2. cat /proc/cpuinfo命令使用cat命令读取/proc/cpuinfo文件可以获取更详细的CPU信息,包括厂商、型号、频率、缓存等。

二、内存信息查询1. free命令free命令可以查看系统内存的使用情况,包括总内存、已使用内存、空闲内存等。

2. dmidecode命令使用dmidecode命令可以获取更详细的内存信息,如型号、容量、频率等。

三、硬盘信息查询1. fdisk -l命令fdisk -l命令可以列出系统中所有的磁盘分区信息,包括硬盘的容量、文件系统等。

2. df命令df命令用于显示文件系统的磁盘空间使用情况,包括每个硬盘分区的总空间、已使用空间、可用空间等。

四、网卡信息查询1. ifconfig命令ifconfig命令可以显示网络接口的配置信息,包括IP地址、MAC地址等。

2. lspci命令lspci命令可以列出所有PCI设备的信息,包括网卡型号、厂商等。

五、USB设备信息查询1. lsusb命令lsusb命令可以列出系统中所有的USB设备,包括设备的厂商、型号等。

六、声卡信息查询1. aplay -l命令aplay -l命令可以查看系统中的声卡信息,包括声卡的型号、驱动等。

以上是常用的一些Linux终端命令,可以用于查询硬件信息。

在使用这些命令时,可以根据需求结合管道符号"|"和grep命令,来过滤和搜索特定的信息。

通过查询硬件信息,我们可以更好地了解系统的硬件配置,对于故障排查和性能优化也有一定的帮助。

总结:本文介绍了Linux终端命令中的硬件信息查询,包括CPU信息查询、内存信息查询、硬盘信息查询、网卡信息查询、USB设备信息查询以及声卡信息查询。

如何在Linux系统中查看网络接口的速度限制

如何在Linux系统中查看网络接口的速度限制

如何在Linux系统中查看网络接口的速度限制在Linux系统中,查看网络接口的速度限制对于网络管理和网络故障排查非常重要。

本文将介绍如何在Linux系统中查看网络接口的速度限制的方法和操作步骤。

一、使用ethtool命令查看网络接口的速度限制ethtool命令是一个用于显示或更改以太网卡驱动程序的设置和统计信息工具。

它可以用于查看网络接口的速度限制以及其他相关信息。

要使用ethtool命令查看网络接口的速度限制,可以按照以下步骤进行操作:1. 确认ethtool是否已安装:在终端中输入以下命令来检查ethtool 是否已安装:```ethtool --version```如果ethtool已安装,将显示ethtool的版本信息;如果ethtool未安装,则需要使用适当的包管理器进行安装。

2. 查看网络接口的速度限制:在终端中输入以下命令来查看网络接口的速度限制:```ethtool <interface>```其中,<interface>是要查看的网络接口的名称,如eth0或enp0s3。

执行命令后,将显示相关的接口信息,包括速度、双工模式、链接状态等。

例如,输入以下命令以查看eth0接口的速度限制:```ethtool eth0```将显示类似以下内容的接口信息:```Settings for eth0:Supported ports: [ TP ]Supported link modes: 10baseT/Half 10baseT/Full100baseT/Half 100baseT/Full1000baseT/Half 1000baseT/FullSupported pause frame use: NoSupports auto-negotiation: YesAdvertised link modes: 10baseT/Half 10baseT/Full100baseT/Half 100baseT/Full1000baseT/Half 1000baseT/FullAdvertised pause frame use: NoAdvertised auto-negotiation: YesSpeed: 100Mb/sDuplex: FullPort: Twisted PairPHYAD: 1Transceiver: internalAuto-negotiation: onMDI-X: UnknownSupports Wake-on: pumbgWake-on: dCurrent message level: 0x00000001 (1)Link detected: yes```在以上输出中,可以看到Speed字段的值为100Mb/s,表示eth0接口的速度限制为100Mbps。

Linux之PCIE三种空间解析

Linux之PCIE三种空间解析

Linux之PCIE三种空间解析一、PCIE概述总结PCI Express,是计算机总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统。

PCIE总线使用的是高速差分总线,并采用端到端的连接方式,现在的高速总线基本上都是串行总线,这样可以使用更高的时钟频率。

当前pcie协议支持到5.0版本,不同PCIe版本对应的传输速率如下:二、pcie总线的拓扑结构PCIe采用的是树形拓扑结构,它的体系架构一般由root complex,switch,endpoint等类型的PCIe设备组成root complex: 根桥设备,是PCIe最重要的一个组成部件; root complex主要负责PCIe报文的解析和生成。

RC接受来自CPU的IO 指令,生成对应的PCIe报文,或者接受来自设备的PCIe TLP报文,解析数据传输给CPU或者内存。

switch: PCIe的转接器设备,目的是扩展PCIe总线。

和PCI并行总线不同,PCIe的总线采用了高速差分总线,并采用端到端的连接方式, 因此在每一条PCIe链路中两端只能各连接一个设备,如果需要挂载更多的PCIe设备,那就需要用到switch转接器。

switch在linux下不可见,软件层面可以看到的是switch的上行口(upstream port,靠近RC的那一侧)和下行口(downstream port)。

一般而言,一个switch 只有一个upstream port,可以有多个downstream port.PCIe endponit: PCIe终端设备,是PCIe树形结构的叶子节点。

比如网卡,NVME卡,显卡都是PCIe ep设备。

lspci -tv命令可以显示pcie的总线拓扑,如上图所示,一个PCIe 设备的ID由以下几个部分组成:以0000:00:00.0为例,分别对应PCI 域,总线号,设备号,功能号。

1.PCI域:PCI域ID,目的是为了突破pcie256条总线的限制。

Linux查看PCIe版本及速率

Linux查看PCIe版本及速率

Linux查看PCIe版本及速率Linux查看PCIe版本及速率PCIE有四种不同的规格,通过下图来了解下PCIE的其中2种规格查看主板上的PCI插槽# dmidecode | grep --color "PCI"不同PCIe版本对应的传输速率如下:传输速率为每秒传输量GT/s,⽽不是每秒位数Gbps,因为传输量包括不提供额外吞吐量的开销位;⽐如PCIe 1.x和PCIe 2.x使⽤8b/10b编码⽅案,导致占⽤了20% (= 2/10)的原始信道带宽。

GT/s —— Giga transation per second (千兆传输/秒),即每⼀秒内传输的次数。

重点在于描述物理层通信协议的速率属性,可以不和链路宽度等关联。

Gbps —— Giga Bits Per Second (千兆位/秒)。

GT/s 与Gbps 之间不存在成⽐例的换算关系。

PCIe 吞吐量(可⽤带宽)计算⽅法:吞吐量 = 传输速率 * 编码⽅案例如:PCI-e2.0 协议⽀持 5.0 GT/s,即每⼀条Lane上⽀持每秒钟内传输5G个Bit;但这并不意味着 PCIe 2.0协议的每⼀条Lane⽀持 5Gbps 的速率。

为什么这么说呢?因为PCIe 2.0 的物理层协议中使⽤的是8b/10b的编码⽅案。

即每传输8个Bit,需要发送10个Bit;这多出的2个Bit并不是对上层有意义的信息。

那么,PCIe 2.0协议的每⼀条Lane⽀持 5 * 8 / 10 = 4 Gbps = 500 MB/s 的速率。

以⼀个PCIe 2.0 x8的通道为例,x8的可⽤带宽为 4 * 8 = 32 Gbps = 4 GB/s。

PCI-e3.0 协议⽀持 8.0 GT/s, 即每⼀条Lane 上⽀持每秒钟内传输 8G个Bit。

⽽PCIe 3.0 的物理层协议中使⽤的是 128b/130b 的编码⽅案。

即每传输128个Bit,需要发送130个Bit。

linux环境中,查询网卡的速度(带宽)

linux环境中,查询网卡的速度(带宽)

linux环境中,查询⽹卡的速度(带宽)需求描述: 今天⼀同事要整理测试环境的主机硬件配置信息,需要提供⽹卡的速度的信息, 所以,就查询了下,在此记录下.操作过程:1.⾸先通过ip a命令查询主机的⽹⼝名称[root@redhat6 ~]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWNlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:56:bb:92 brd ff:ff:ff:ff:ff:ffinet 192.168.53.6/24 brd 192.168.53.255 scope global eth0inet6 fe80::a00:27ff:fe56:bb92/64 scope linkvalid_lft forever preferred_lft forever3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000link/ether 08:00:27:6c:98:c9 brd ff:ff:ff:ff:ff:ff备注:要查询的⽹⼝是eth0,eth1.2.通过ethtool⼯具查询⽹卡设置信息[root@redhat6 ~]# ethtool eth0Settings for eth0:Supported ports: [ TP ]Supported link modes: 10baseT/Half 10baseT/Full100baseT/Half 100baseT/Full1000baseT/FullSupported pause frame use: NoSupports auto-negotiation: YesAdvertised link modes: 10baseT/Half 10baseT/Full100baseT/Half 100baseT/Full1000baseT/FullAdvertised pause frame use: NoAdvertised auto-negotiation: YesSpeed: 1000Mb/sDuplex: FullPort: Twisted PairPHYAD: 0Transceiver: internalAuto-negotiation: onMDI-X: off (auto)Supports Wake-on: umbgWake-on: dCurrent message level: 0x00000007 (7)drv probe linkLink detected: yes[root@redhat6 ~]# ethtool eth1Settings for eth1:Supported ports: [ TP ]Supported link modes: 10baseT/Half 10baseT/Full100baseT/Half 100baseT/Full1000baseT/FullSupported pause frame use: NoSupports auto-negotiation: YesAdvertised link modes: 10baseT/Half 10baseT/Full100baseT/Half 100baseT/Full1000baseT/FullAdvertised pause frame use: NoAdvertised auto-negotiation: YesSpeed: 1000Mb/sDuplex: FullPort: Twisted PairPHYAD: 0Transceiver: internalAuto-negotiation: onMDI-X: Unknown (auto)Supports Wake-on: umbgWake-on: dCurrent message level: 0x00000007 (7)drv probe linkLink detected: no备注:上⾯的查询信息中,Speed就是⽹卡的速度.⽂档创建时间:2018年4⽉26⽇10:54:37。

linux测试带宽命令,Linux服务器网络带宽测试iperf

linux测试带宽命令,Linux服务器网络带宽测试iperf

linux测试带宽命令,Linux服务器⽹络带宽测试iperflinux测试带宽命令,Linux服务器⽹络带宽测试iperf必须先运⾏iperf serveriperf -s -i 2客户端iperf -c 服务端IP地址iperf原理解析iperf⼯具可以⽤来测量TCP或者是UDP的⽹络吞吐量,即bandwidth(带宽)测试。

iPerf的主要⽬标是帮助调整特定路径上的TCP连接。

众所周知,TCP最基本的调整问题是调整TCP窗⼝⼤⼩,它控制在任何⼀点在⽹络中可以有多少数据。

如果它太⼩,发送者将会在⼀段时间内处于空闲状态,从⽽影响发送TCP的性能。

TCP窗⼝⼤⼩的理论值是:瓶颈带宽与往返延时的乘积,即:bottleneck bandwidth * round trip time例如瓶颈链路是45 Mbit/sec,使⽤ping命令测量到的往返时延是42ms。

那么TCP窗⼝的理论值是45 Mbit/sec * 42 ms = (45e6) * (42e-3) = 1890000 bits= 230 KByte在实际测试中,可以以计算得到的TCP窗⼝为基准,在这个值(如上⾯为230KByte)的基础上,升⾼或者降低TCP窗⼝⼤⼩,可以得到⼀个性能的提升。

带宽测试⼀般来说采⽤UDP模式测试,因为在UDP模式下能测出极限带宽、路径时延、丢包率,这些测试项会在带宽测试报告中打印出来。

在进⾏测试时,先以链路理论带宽作为数据发送速率进⾏测试,例如,从客户端到服务器之间的链路的理论带宽为1000Mbps,先⽤ -b 1000M进⾏测试,然后根据测试结果(包括实际带宽,时延抖动和丢包率),再以实际带宽作为数据发送速率进⾏测试,会发现时延抖动和丢包率⽐第⼀次好很多,重复测试⼏次,就能得出稳定的实际带宽。

iperf是基于server-client模式⼯作的,因此,要使⽤iperf测试带宽,需要建⽴⼀个服务端(⽤于丢弃流量)和⼀个客户端(⽤于产⽣流量)。

linux中查看网卡流量六种方法

linux中查看网卡流量六种方法

linux中查看⽹卡流量六种⽅法⽅法⼀、nload⼯具源码包路径:查看参数帮助命令:nload –help-a:这个好像是全部数据的刷新时间周期,单位是秒,默认是300.-i:进⼊⽹卡的流量图的显⽰⽐例最⼤值设置,默认10240 kBit/s.-m:不显⽰流量图,只显⽰统计数据。

-o:出去⽹卡的流量图的显⽰⽐例最⼤值设置,默认10240 kBit/s.-t:显⽰数据的刷新时间间隔,单位是毫秒,默认500。

-u:设置右边Curr、Avg、Min、Max的数据单位,默认是⾃动变的.注意⼤⼩写单位不同!h|b|k|m|g h: auto, b: Bit/s, k: kBit/s, m: MBit/s etc.H|B|K|M|G H: auto, B: Byte/s, K: kByte/s, M: MByte/s etc.-U:设置右边Ttl的数据单位,默认是⾃动变的.注意⼤⼩写单位不同(与-u相同)!Devices:⾃定义监控的⽹卡,默认是全部监控的,使⽤左右键切换。

如只监控eth0命令: nload eth0⽅法⼆、iftop⼯具1、iftop界⾯相关说明界⾯上⾯显⽰的是类似刻度尺的刻度范围,为显⽰流量图形的长条作标尺⽤的。

中间的<= =>这两个左右箭头,表⽰的是流量的⽅向。

TX:发送流量RX:接收流量TOTAL:总流量Cumm:运⾏iftop到⽬前时间的总流量peak:流量峰值rates:分别表⽰过去 2s 10s 40s 的平均流量2、iftop相关参数常⽤的参数-i设定监测的⽹卡,如:# iftop -i eth1-B 以bytes为单位显⽰流量(默认是bits),如:# iftop -B-n使host信息默认直接都显⽰IP,如:# iftop -n-N使端⼝信息默认直接都显⽰端⼝号,如: # iftop -N-F显⽰特定⽹段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0-h(display this message),帮助,显⽰参数信息-p使⽤这个参数后,中间的列表显⽰的本地主机信息,出现了本机以外的IP信息;-b使流量图形条默认就显⽰;-f这个暂时还不太会⽤,过滤计算包⽤的;-P使host信息及端⼝信息默认就都显⽰;-m设置界⾯最上边的刻度的最⼤值,刻度分五个⼤段显⽰,例:# iftop -m 100M进⼊iftop画⾯后的⼀些操作命令(注意⼤⼩写)按h切换是否显⽰帮助;按n切换显⽰本机的IP或主机名;按s切换是否显⽰本机的host信息;按d切换是否显⽰远端⽬标主机的host信息;按t切换显⽰格式为2⾏/1⾏/只显⽰发送流量/只显⽰接收流量;按N切换显⽰端⼝号或端⼝服务名称;按S切换是否显⽰本机的端⼝信息;按D切换是否显⽰远端⽬标主机的端⼝信息;按p切换是否显⽰端⼝信息;按P切换暂停/继续显⽰;按b切换是否显⽰平均流量图形条;按B切换计算2秒或10秒或40秒内的平均流量;按T切换是否显⽰每个连接的总流量;按l打开屏幕过滤功能,输⼊要过滤的字符,⽐如ip,按回车后,屏幕就只显⽰这个IP相关的流量信息;按L切换显⽰画⾯上边的刻度;刻度不同,流量图形条会有变化;按j或按k可以向上或向下滚动屏幕显⽰的连接记录;按1或2或3可以根据右侧显⽰的三列流量数据进⾏排序;按<根据左边的本机名或IP排序;按>根据远端⽬标主机的主机名或IP排序;按o切换是否固定只显⽰当前的连接;按f可以编辑过滤代码,这是翻译过来的说法,我还没⽤过这个!按!可以使⽤Shell命令,这个没⽤过!没搞明⽩啥命令在这好⽤呢!按q退出监控。

linux查看显卡命令

linux查看显卡命令

linux查看显卡命令
我们通过Linux的一些命令可以查看到显卡的硬件信息。

下面由店铺为大家整理了linux查看显卡命令的相关知识,希望对大家有帮助。

linux查看显卡命令
linux查看显卡命令1、lspic
大家可使用如下命令来获取系统上的显卡信息:
lspci -vnn | grep VGA -A 12
执行之后大家可以看到类似如下输出:
第一行输出便有硬件厂商、型号名称/序列号和 PCI ID。

大家可以看到上图中所示的8086:0416,其中冒号前半部分的8086 表示厂商ID(这里是 Intel),后半部分 0416 表示 PCI ID,用于指示图形单元模型。

linux查看显卡命令2、lshw
lshw -C display
执行之后,大家可以看到类似如下输出:
查看当前使用的显卡驱动
要查看当前Linux 系统上所使用的显卡驱动名称,同样可以使用lshw 命令:
sudo lshw -c video | grep configuration
上图中可以看到输出的显卡驱动名称有两条,其中一条为driver=i915,我们则可以使用如下命令来检查显卡驱动的详情(另外一条操作类似):
modinfo i915
检查硬件加速
启用基于硬件的 3D 加速可以在绘制 3D 图形时直接使用硬件进行
处理,这大大加快了3D 渲染的速度。

要使用该功能,必需显卡支持硬件加速并安装了正确的驱动。

我们可以使用 glxinfo 命令来获查看得 OpenGL 的详细信息:
glxinfo | grep OpenGL。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在Linux 下要如何得知PCI-E Bus 使用的是Gen(Generation) 1 還是Gen2還是新一代的Gen 3 雖然使用#lspci 只要可以看到目前系統所有的裝置.但是好像看不到PCI-E Bus 所採用的是哪一代的PCI-E.[root@benjr ~]# lspci00:00.0 Host bridge: Intel Corporation 3200/3210 Chipset DRAM Controller (rev 01)00:01.0 PCI bridge: Intel Corporation 3200/3210 Chipset Host-Primary PCI Express Bridge (rev 01) 00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 02)00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 02)00:1a.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 02)00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 02)00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 (rev 02)00:1c.2 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 02)00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 02)00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 02)00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 02)00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)00:1f.0 ISA bridge: Intel Corporation 82801IR (ICH9R) LPC Interface Controller (rev 02)00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express 04:03.0 VGA compatible controller: ATI Technologies Inc ES1000 (rev 02)09:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03) 09:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03) 0c:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1064ET PCI-Express Fusion-MPT SAS如果有裝置是unknown 的,需要更新/usr/share/hwdata/pci.ids 請參考更新方式http://benjr.tw/node/88首先我們先來複習一下PCI-E bus 的速度上限.PCI Express 1.1使用兩對低電壓的差位訊號排線(low-voltage differential signaling pairs),分別各跑2.5GBit/s速度,下面的速度是以單對的速度而言. x1 有兩對 2.5G x 2 = 5Gbps 的頻寬.x1 2.5Gbps(20% overhead - PCI-e 在每八個位元的資料串上用十位元來加以編碼) 2Gbps (250 MB/sec)x4 10Gbps 8Gbps (1 GB/sec)x8 20Gbps 16Gbps (2GB/sec)x16 40Gbps 32Gbps (4GB/sec)PCI Express 2.0PCI-SIG 的PCI Express 2.0規格,新版每條Lane的單向頻寬從2.5Gb ps倍增到5Gbps.x1 5Gbps(20% overhead-PCIe並且在每八個位元的資料串上用十位元來加以編碼) 4Gbps (500 MB/sec)(5G*0.8)Mb/8=500MBx4 20Gbps 16Gbps (2 GB/sec)x8 40Gbps 32Gbps (4 GB/sec)x16 80Gbps 64Gbps (8 GB/sec)我的系統上有一張Qlogic Chipset 為2432 的 4G Fiber Channel HBA,要如何得知目前系統的PCI-E Bus 的速度呢!!首先要查出這張HBA 的裝置名稱.[root@benjr ~]# lspci -n00:00.0 0600: 8086:29f0 (rev 01)00:01.0 0604: 8086:29f1 (rev 01)00:1a.0 0c03: 8086:2937 (rev 02)00:1a.1 0c03: 8086:2938 (rev 02)00:1a.2 0c03: 8086:2939 (rev 02)00:1a.7 0c03: 8086:293c (rev 02)00:1c.0 0604: 8086:2948 (rev 02)00:1c.1 0604: 8086:294a (rev 02)00:1c.2 0604: 8086:2940 (rev 02)00:1d.0 0c03: 8086:2934 (rev 02)00:1d.1 0c03: 8086:2935 (rev 02)00:1d.2 0c03: 8086:2936 (rev 02)00:1d.7 0c03: 8086:293a (rev 02)00:1e.0 0604: 8086:244e (rev 92)00:1f.0 0601: 8086:2916 (rev 02)00:1f.2 0106: 8086:2922 (rev 02)00:1f.3 0c05: 8086:2930 (rev 02)03:00.0 0200: 14e4:165a04:03.0 0300: 1002:515e (rev 02)09:00.0 0c04: 1077:2432 (rev 03)09:00.1 0c04: 1077:2432 (rev 03)0c:00.0 0100: 1000:0056 (rev 02)可以看到目前Qlogic 2432 的PCI 名稱以及裝置名稱為09:00.0 0c04: 107 7:2432 (rev 03) 先來看看這些數字所代表的意義.前面的3 個數字"09:00.0" 是各代表什麼意思.在PCI 的裝置使用三個編號用來當作識別值,個別為 1. "匯流排(bus number)", 2. "裝置(device number) 以及3. "功能(function number)".所以剛剛的09:00.0 就是bus number = 09 ,device number = 00 function = 0 .這3個編號會組合成一個16-bits 的識別碼,1. 匯流排(bus number) 8bits 2^8 至多可連接256 個匯流排(0 to ff),2. 裝置(device number) 5bits 2^5 至多可接32 種裝置(0 to 1f) 以及3. 功能(function number) 3bits 2^3 至多每種裝置可有8 項功能(0 to 7).關於更多#lspci 的資訊請參考http://benjr.tw/node/543不過在Linux 使用 Class ID + Vendor ID + Device ID 來代表裝置,如剛剛的 0 c04: 1077:2432 所代表裝置名稱為(Class ID = 0c04 ,Vendor ID = 1077,Devi ce ID =2432) .∙0c04 : class 0c04 表示是"Fiber Channel controller"∙1077 : vendor ID 1077 製造廠商"Qlogic Corp"∙2432 : device ID 2432 產品名稱"ISP2432-based 4Gb Fiber Channel to PCI Express HBA"你問我怎麼知道ID 與名稱是怎麼對應的很簡單直接參考/usr/share/hwdata/pci.id s 檔案即可.接下來透過指令#lspci -n -d 1077:2432 -vvv |grep -i width 就可以得知PCI-E xpress 的速度了.∙LnkSta :目前系統所提供的速度PCI-Express 1.0 ( 2.5G ) ,如果是PCI-Express2.0 那速度是5G∙LnkCap :裝置目前所採用的速度.LnkSta 和LnkCap 這兩個速度有可能不一樣,系統所提供的是PCI Express 是2.0 但裝置還是使用1.0 的.个人分类:Linux。

相关文档
最新文档