筛选 dmidecode 内存控制器以获取支持的速度

筛选 dmidecode 内存控制器以获取支持的速度

作为 Linux 内核和所有命令的新手,我正在联系你们,希望你们能帮助我解决我的问题。

当运行下一个命令时

sudo dmidecode -t 5

我得到以下输出:

# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present.

Handle 0x0084, DMI type 5, 46 bytes
Memory Controller Information
        Error Detecting Method: None
        Error Correcting Capabilities:
                None
        Supported Interleave: One-way Interleave
        Current Interleave: One-way Interleave
        Maximum Memory Module Size: 32768 MB
        Maximum Total Memory Size: 491520 MB
        Supported Speeds:
                70 ns
                60 ns
        Supported Memory Types:
                FPM
                EDO
                DIMM
                SDRAM
        Memory Module Voltage: 3.3 V
        Associated Memory Slots: 15
                0x0085
                0x0086
                0x0087
                0x0088
                0x0089
                0x008A
                0x008B
                0x008C
                0x008D
                0x008E
                0x008F
                0x0090
                0x0091
                0x0092
                0x0093
        Enabled Error Correcting Capabilities:
                None

是否有任何命令可以过滤输出,以便我以任何方式获得支持的速度(70ns、60ns)?

我试过

sudo dmidecode -t 5 | grep -i -e DMI -e speed

这给了我这个输出:

# dmidecode 3.0
Handle 0x0084, DMI type 5, 46 bytes
        Supported Speeds:

但这不会输出以下几行。

非常欢迎任何建议,谢谢!

答案1

这将列出支持的速度:

dmidecode | awk '/^\t[^\t]/ { speeds = 0 }; /^\tSupported Speeds:/ { speeds = 1 } /^\t\t/ && speeds'

这是通过匹配行来实现的,如下所示:

  • 以单个选项卡开头的行意味着我们不期望速度;
  • 以单个选项卡开头,后跟“支持的速度:”的行意味着我们期望速度;
  • 当我们期望速度按原样输出时,以两个选项卡开头的行。

相关内容