참고용으로 사용하고 있는 하드웨어에 대한 정확한 정보를 저장하고 싶다면 가장 좋은 방법은 무엇입니까? 내용은 /proc/meminfo
충분한가요?
답변1
하드웨어에 대한 자세한 정보를 캡처하는 데 사용할 수 있는 여러 도구가 있습니다. 이 작업을 수행하기 위해 다음 도구 세트를 사용하겠습니다.
노트:나는 아니오라고 말하고 싶습니다. /proc/meminfo
시스템에 얼마나 많은 메모리가 있는지 알고 싶지 않다면 그것만으로는 충분하지 않습니다.
시스템 메시지
창사
이는 하드웨어 관점에서 현재 시스템에 포함된 항목의 일반 목록을 얻을 수 있는 훌륭한 도구입니다. 여기에는 사용 중인 드라이버도 포함되어 있으므로 일반적으로 이와 같은 작업을 위한 첫 번째 도구입니다. 특정 하드웨어(네트워크, CPU, RAM 등)를 표시할 수 있으며 JSON, HTML 또는 XML 형식뿐만 아니라 짧은 형식(아래 표시)으로 결과를 출력할 수 있습니다.
예$ sudo lshw -short | head | expand
H/W path Device Class Description
======================================================
system 900X3C/900X3D/900X4C/900X4D (System SKUNumber)
/0 bus NP900X4C-A07US
/0/0 memory 128KiB BIOS
/0/4 processor Core i7 (To Be Filled By O.E.M.)
/0/4/6 memory 32KiB L1 cache
/0/4/7 memory 256KiB L2 cache
/0/4/8 memory 4MiB L3 cache
/0/5 memory 32KiB L1 cache
dmide 코드
이 도구는 다른 접근 방식을 취하고 시스템의 DMI 테이블 덤프를 표시합니다. 이는 본질적으로 사람이 읽을 수 있는 형식의 시스템 BIOS 보기입니다.
발췌예dmide 코드 이는 컴퓨터의 DMI(일부는 SMBIOS라고도 함) 테이블의 내용을 사람이 읽을 수 있는 형식으로 덤프하는 도구입니다. 이 표에는 시스템의 하드웨어 구성 요소에 대한 설명은 물론 일련 번호, BIOS 버전과 같은 기타 유용한 정보가 포함되어 있습니다. 이 테이블을 사용하면 실제 하드웨어를 조사하지 않고도 이 정보를 검색할 수 있습니다. 이는 보고 속도와 보안 측면에서 장점이기는 하지만 제공된 정보를 잠재적으로 신뢰할 수 없게 만듭니다.
DMI 테이블은 시스템의 현재 구성을 설명할 뿐만 아니라 가능한 발전(예: 지원되는 가장 빠른 CPU 또는 지원되는 최대 메모리 양)도 보고할 수 있습니다.
SMBIOS는 시스템 관리 BIOS를 나타내고 DMI는 데스크탑 관리 인터페이스를 나타냅니다. 두 표준은 밀접하게 관련되어 있으며 DMTF(Desktop Management Task Force)에서 개발되었습니다.
$ sudo dmidecode | head -20
# dmidecode 2.12
# SMBIOS entry point at 0xdac46000
SMBIOS 2.7 present.
64 structures occupying 2909 bytes.
Table at 0xDAC45000.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Phoenix Technologies Ltd.
Version: P02ABK
Release Date: 09/19/2012
Address: 0xE0000
Runtime Size: 128 kB
ROM Size: 3072 kB
Characteristics:
PCI is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
하드웨어 정보
시스템 전체 하드웨어의 전체 스냅샷을 캡처하기 위한 또 다른 유서 깊은 도구입니다. 와 유사 lshw
하지만 제 생각에는 아마도 이런 종류의 정보를 수집하는 데 가장 적합한 도구일 것입니다. 제가 주로 사용하는 도구입니다.
$ hwinfo --cpu | head -14
01: None 00.0: 10103 CPU
[Created at cpu.446]
Unique ID: rdCR.j8NaKXDZtZ6
Hardware Class: cpu
Arch: X86-64
Vendor: "GenuineIntel"
Model: 6.58.9 "Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz"
Features: fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,ht,tm,pbe,syscall,nx,rdtscp,lm,constant_tsc,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,aperfmperf,eagerfpu,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,est,tm2,ssse3,cx16,xtpr,pdcm,pcid,sse4_1,sse4_2,x2apic,popcnt,tsc_deadline_timer,xsave,avx,f16c,rdrand,lahf_lm,ida,arat,epb,xsaveopt,pln,pts,dtherm,tpr_shadow,vnmi,flexpriority,ept,vpid,fsgsbase,smep,erms
Clock: 905 MHz
BogoMips: 4789.57
Cache: 4096 kb
Units/Processor: 16
Config Status: cfg=new, avail=yes, need=no, active=unknown
이는 특정 CPU 제조사, 모델 및 기능 세트에 대해 알고 싶은 거의 모든 정보를 포함하고 있기 때문에 매우 유용한 정보입니다.
CPU 정보
LSCPU
이 도구는 CPU에 대한 자세한 정보만 표시합니다.
예$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 58
Model name: Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz
Stepping: 9
CPU MHz: 1701.562
CPU max MHz: 3000.0000
CPU min MHz: 800.0000
BogoMIPS: 4789.57
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 4096K
NUMA node0 CPU(s): 0-3
CPU ID
시스템 CPU의 구체적인 세부 정보를 알고 싶다면 을 참조하세요 cpuid
.
$ cpuid -1 | less
version information (1/eax):
processor type = primary processor (0)
family = Intel Pentium Pro/II/III/Celeron/Core/Core 2/Atom, AMD Athlon/Duron, Cyrix M2, VIA C3 (6)
model = 0xa (10)
stepping id = 0x9 (9)
extended family = 0x0 (0)
extended model = 0x3 (3)
(simple synth) = Intel Core i3-3000 (Ivy Bridge L1) / i5-3000 (Ivy Bridge E1/N0/L1) / i7-3000 (Ivy Bridge E1) / Mobile Core i3-3000 (Ivy Bridge L1) / i5-3000 (Ivy Bridge L1) / Mobile Core i7-3000 (Ivy Bridge E1/L1) / Xeon E3-1200 v2 (Ivy Bridge E1/N0/L1) / Pentium G1600/G2000/G2100 (Ivy Bridge P0) / Pentium 900/1000/2000/2100 (P0), 22nm
miscellaneous (1/ebx):
process local APIC physical ID = 0x3 (3)
cpu count = 0x10 (16)
CLFLUSH line size = 0x8 (8)
brand index = 0x0 (0)
brand id = 0x00 (0): unknown
feature information (1/edx):
x87 FPU on chip = true
virtual-8086 mode enhancement = true
debugging extensions = true
page size extensions = true
time stamp counter = true
RDMSR and WRMSR support = true
physical address extensions = true
machine check exception = true
CMPXCHG8B inst. = true
APIC on chip = true
SYSENTER and SYSEXIT = true
memory type range registers = true
PTE global bit = true
machine check architecture = true
conditional move/compare instruction = true
page attribute table = true
page size extension = true
processor serial number = false
...
/proc/cpu 정보
와 같은 도구를 사용하지 않고 CPU에 대해 Linux 커널에서 제공하는 정보를 쿼리하려는 경우 언제든지 파일 시스템을 lscpu
grok할 수 있습니다 . /proc
원래 요청한 것과 마찬가지로 /proc/meminfo
여기서는 CPU와 같은 다른 하드웨어도 의미됩니다.
$ head /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz
stepping : 9
microcode : 0x1b
cpu MHz : 892.406
cache size : 4096 KB
physical id : 0