Linux 에서 특정 CPU 기능 사용 가능 여부 확인 방법

LinuxBeginner
지금 연습하기

소개

이 랩에서는 Linux 시스템에서 사용 가능한 특정 CPU 기능을 확인하는 방법을 배우게 됩니다. CPU 사양 및 플래그에 대한 자세한 정보를 보기 위해 기본적인 cat /proc/cpuinfo 명령부터 시작하여 CPU 정보를 검사하는 다양한 방법을 탐구할 것입니다.

초기 검사 후, CPU 아키텍처 및 기능을 보다 구조적으로 파악하기 위해 lscpu 명령을 활용할 것입니다. 마지막으로, dmidecode를 사용하여 하드웨어 세부 정보를 자세히 살펴보고 CPU 정보를 포함한 시스템 구성 요소에 대한 추가적인 통찰력을 얻을 것입니다.

cat /proc/cpuinfo로 CPU 기능 목록 확인

이 단계에서는 cat 명령과 /proc/cpuinfo 파일을 사용하여 Linux 시스템의 CPU 정보를 검사하는 방법을 배우게 됩니다.

/proc 파일 시스템은 프로세스 및 기타 시스템 정보에 대한 정보를 제공하는 Linux 의 가상 파일 시스템입니다. /proc/cpuinfo 파일에는 시스템에 설치된 CPU 에 대한 세부 정보가 포함되어 있습니다.

cat 명령은 파일의 내용을 표시하는 데 사용되는 기본적인 Linux 유틸리티입니다.

아직 열려 있지 않은 경우 터미널을 엽니다. 데스크탑 왼쪽의 Xfce Terminal 아이콘을 클릭하여 터미널을 열 수 있습니다.

이제 /proc/cpuinfo 파일의 내용을 표시하려면 다음 명령을 입력하십시오.

cat /proc/cpuinfo

Enter 키를 누릅니다.

CPU 의 다양한 측면을 자세히 설명하는 많은 출력을 보게 됩니다. 출력은 다음과 유사하게 보일 것입니다 (간결함과 일반성을 위해 출력의 일부가 생략됨):

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 158
model name      : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
stepping        : 9
microcode       : 0x...
cpu MHz         : ...
cache size      : ... KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : ...
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms rtm invpcid mpx rdseed adx smap clflushopt xsaves xsaveopt pcpe bts md_clear flush_l1d arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed
bogomips        : ...
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
...

이 파일은 각 CPU 코어에 대한 자세한 정보를 제공하며, 공급업체, 모델 이름, 속도, 캐시 크기 및 지원되는 기능 (flags 아래에 나열됨) 을 포함합니다.

/proc/cpuinfo의 출력을 이해하는 것은 문제 해결 및 시스템 하드웨어의 기능을 이해하는 데 도움이 됩니다.

다음 단계로 진행하려면 Continue를 클릭하십시오.

lscpu 로 기능 확인

이전 단계에서는 cat /proc/cpuinfo를 사용하여 자세한 CPU 정보를 확인했습니다. /proc/cpuinfo는 포괄적이지만, 출력 내용이 매우 상세하고 때로는 빠르게 구문 분석하기 어려울 수 있습니다.

CPU 아키텍처 정보의 요약을 얻기 위한 보다 사용자 친화적인 명령은 lscpu입니다. lscpu 명령은 /proc/cpuinfo에서 CPU 아키텍처 정보를 수집하여 잘 형식화되고 사람이 읽을 수 있는 출력으로 표시합니다.

lscpu 명령을 사용하여 CPU 의 요약을 얻어보겠습니다.

터미널에 다음 명령을 입력하십시오.

lscpu

Enter 키를 누릅니다.

CPU 아키텍처에 대한 간결한 요약을 보게 됩니다. 출력은 다음과 유사하게 보일 것입니다.

Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  1
  On-line CPU(s) list:   0
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms rtm invpcid mpx rdseed adx smap clflushopt xsaves xsaveopt pcpe bts md_clear flush_l1d arch_capabilities
L1d cache:               32K
L1i cache:               32K
L2 cache:                256K
L3 cache:                6M
NUMA node(s):            1
  NUMA node0 CPU(s):     0
Vulnerability Itlb multihit:  KVM: Mitigation: VMX disabled
Vulnerability L1tf:      Mitigation: PTE Inversion; VMX conditional cache flushes, SMT disabled
Vulnerability Mds:       Mitigation: Clear CPU buffers; SMT disabled
Vulnerability Meltdown:  Mitigation: PTI
Vulnerability Mmio stale data: Mitigation: Clear CPU buffers; SMT disabled
Vulnerability Retbleed:  Mitigation: IBPB conditional, IBRS_FW, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Spec store bypass: Mitigation: Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:  Mitigation: Invalidate IBPB conditional, INDIR branch predictor by IBPB_FW, STIBP disabled
Vulnerability Spectre v2:  Mitigation: IBPB conditional, IBRS_FW, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:     Mitigation: Microcode
Vulnerability Tsx async abort: Not affected

lscpu가 아키텍처, CPU 작동 모드, 공급업체 ID, 모델 이름 및 플래그 요약 (CPU 기능) 과 같은 특정 세부 정보를 쉽게 찾을 수 있도록 정보를 구조화된 형식으로 표시하는 방식을 확인하십시오.

cat /proc/cpuinfo는 원시 데이터를 제공하는 반면, lscpu는 구문 분석되고 정리된 보기를 제공하므로 빠른 개요에 더 편리합니다.

다음 단계로 이동하려면 Continue를 클릭하십시오.

dmidecode 로 하드웨어 정보 확인

이전 단계에서는 cat /proc/cpuinfolscpu를 사용하여 CPU 정보를 탐색했습니다. 이제 시스템의 하드웨어를 검사하기 위한 보다 일반적인 도구인 dmidecode를 살펴보겠습니다.

dmidecode는 컴퓨터의 DMI(Desktop Management Interface) 또는 SMBIOS(System Management BIOS) 테이블을 읽는 도구입니다. 이 테이블에는 마더보드, BIOS, 메모리 등과 같은 시스템의 하드웨어 구성 요소에 대한 정보가 포함되어 있습니다.

dmidecode는 낮은 수준의 시스템 정보에 액세스하므로 root 권한이 필요합니다. sudo 명령을 사용하여 이러한 권한으로 dmidecode를 실행할 수 있습니다. 이 환경에서 labex 사용자는 암호 없이 sudo 액세스 권한을 가지고 있음을 기억하십시오.

전체 DMI 정보를 표시하려면 터미널에 다음 명령을 입력하십시오.

sudo dmidecode

Enter 키를 누릅니다.

다양한 하드웨어 구성 요소를 자세히 설명하는 많은 출력을 보게 됩니다. 출력은 다양한 "핸들" 또는 섹션으로 구성되며, 각 섹션은 시스템의 특정 부분 (예: BIOS 정보, 시스템 정보, 베이스보드 정보, 메모리 장치) 을 설명합니다.

다음은 표시될 수 있는 내용의 스니펫입니다 (출력은 가상 머신의 구성에 따라 다름).

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: Google
        Version: Google
        Release Date: 01/01/2011
        Address: 0xE8000
        Runtime Size: 96 kB
        ROM Size: 128 kB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                BIOS ROM is socketed
                EDD is supported
                5.25" / 1.2MB floppy services are supported (int 13h)
                3.5" / 720kB floppy services are supported (int 13h)
                3.5" / 2.88MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                CGA/mono video services are supported (int 10h)
                NEC PC-98
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 0.0

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Google
        Product Name: Google Compute Engine
        Version: pc-i440fx-xenial
        Serial Number: ...
        UUID: ...
        Wake-up Type: Power Switch
        SKU Number: ...
        Family: Virtual Machine

Handle 0x0002, DMI type 2, 10 bytes
Baseboard Information
        Manufacturer: Google
        Product Name: Google Compute Engine
        Version: pc-i440fx-xenial
        Serial Number: ...
        Asset Tag: No Asset Tag
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: Not Specified
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

... (more output)

-t 옵션을 사용하여 보고 싶은 정보 유형을 지정할 수도 있습니다. 예를 들어, 메모리 정보만 보려면 다음을 입력합니다.

sudo dmidecode -t memory

Enter 키를 누릅니다.

이렇게 하면 시스템의 메모리 장치와 관련된 세부 정보만 표시하도록 출력이 필터링됩니다.

dmidecode는 컴퓨터를 열지 않고도 자세한 하드웨어 사양을 수집하는 강력한 도구입니다. 하드웨어를 인벤토리하거나 하드웨어 관련 문제를 해결하는 데 특히 유용합니다.

이 랩을 완료하려면 Continue를 클릭하십시오.

요약

이 랩에서는 Linux 에서 특정 CPU 기능을 확인하는 방법을 배웠습니다. 먼저 cat 명령을 사용하여 /proc/cpuinfo 가상 파일에 포함된 자세한 CPU 정보를 표시했습니다. 이 파일은 CPU 특성 및 지원되는 플래그의 포괄적인 목록을 제공합니다. 이 초기 단계에서는 /proc 파일 시스템을 통해 시스템 정보에 액세스하는 방법을 소개했습니다.