지원되는 속도에 맞게 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'

이는 다음과 같이 행을 일치시켜 수행됩니다.

  • 단일 탭으로 시작하는 줄은 속도를 기대하지 않음을 의미합니다.
  • 단일 탭으로 시작하고 그 뒤에 "지원되는 속도:"가 오는 줄은원하는 속도;
  • 속도가 그대로 출력될 것으로 예상할 때 두 개의 탭으로 시작하는 줄입니다.

관련 정보