Linux

過濾 dmidecode 記憶體控制器以獲得支持的速度

  • August 20, 2019

作為 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:

但這不會輸出以下行。

非常歡迎任何建議,謝謝!

這將列出支持的速度:

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

這通過匹配行來工作,如下所示:

  • 以單個選項卡開頭的行意味著我們不期望速度;
  • 以單個選項卡開頭的行,後跟“支持的速度:”表示我們期望速度;
  • 當我們期望速度時,以兩個選項卡開頭的行按原樣輸出。

引用自:https://unix.stackexchange.com/questions/536470