2010-11-03 19 views
14

在FreeBSD v8.1上,Linux的/ proc/cpuinfo等價於什麼?我的應用程序讀取/ proc/cpuinfo並將信息保存在日誌文件中,我可以做些什麼來獲取在FreeBSD上記錄的類似信息?FreeBSD v8.1上的/ proc/cpuinfo相當於什麼?

樣本的/ proc/cpuinfo中看起來是這樣的:

processor : 0 
vendor_id : GenuineIntel 
cpu family : 6 
model  : 23 
model name : Intel(R) Xeon(R) CPU   E5420 @ 2.50GHz 
stepping : 8 
cpu MHz  : 2499.015 
cache size : 6144 KB 
fdiv_bug : no 
hlt_bug  : no 
f00f_bug : no 
coma_bug : no 
fpu  : yes 
fpu_exception : yes 
cpuid level : 10 
wp  : yes 
flags  : 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 nx lm constant_tsc pni ds_cpl 
bogomips : 5004.54 

processor : 1 
vendor_id : GenuineIntel 
cpu family : 6 
model  : 23 
model name : Intel(R) Xeon(R) CPU   E5420 @ 2.50GHz 
stepping : 8 
cpu MHz  : 2499.015 
cache size : 6144 KB 
fdiv_bug : no 
hlt_bug  : no 
f00f_bug : no 
coma_bug : no 
fpu  : yes 
fpu_exception : yes 
cpuid level : 10 
wp  : yes 
flags  : 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 nx lm constant_tsc pni ds_cpl 
bogomips : 5009.45 
+0

如果你的意思是這一個專門* *編程環境(而不是某種類型的用戶上下文),你最好馬上大聲說出來,因爲它會以其他方式進行遷移異地... – dmckee 2010-11-03 03:37:22

+0

正確的,目前我產品在執行期間讀取此文件,我想在FreeBSD上找到相應的操作。 – WilliamKF 2010-11-03 14:51:15

回答

5

使用dmidecode命令:

# dmidecode -t processor -t cache 
# dmidecode 3.0 
Scanning /dev/mem for entry point. 
SMBIOS 2.4 present. 

Handle 0x0004, DMI type 4, 35 bytes 
Processor Information 
     Socket Designation: LGA 775 
     Type: Central Processor 
     Family: Pentium 4 
     Manufacturer: Intel 
     ID: F6 06 00 00 FF FB EB BF 
     Signature: Type 0, Family 6, Model 15, Stepping 6 
     Flags: 
       FPU (Floating-point unit on-chip) 
       VME (Virtual mode extension) 
       DE (Debugging extension) 
       PSE (Page size extension) 
       TSC (Time stamp counter) 
       MSR (Model specific registers) 
       PAE (Physical address extension) 
       MCE (Machine check exception) 
       CX8 (CMPXCHG8 instruction supported) 
       APIC (On-chip APIC hardware supported) 
       SEP (Fast system call) 
       MTRR (Memory type range registers) 
       PGE (Page global enable) 
       MCA (Machine check architecture) 
       CMOV (Conditional move instruction supported) 
       PAT (Page attribute table) 
       PSE-36 (36-bit page size extension) 
       CLFSH (CLFLUSH instruction supported) 
       DS (Debug store) 
       ACPI (ACPI supported) 
       MMX (MMX technology supported) 
       FXSR (FXSAVE and FXSTOR instructions supported) 
       SSE (Streaming SIMD extensions) 
       SSE2 (Streaming SIMD extensions 2) 
       SS (Self-snoop) 
       HTT (Multi-threading) 
       TM (Thermal monitor supported) 
       PBE (Pending break enabled) 
     Version: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz 
     Voltage: 1.4 V 
     External Clock: 266 MHz 
     Max Speed: 3800 MHz 
     Current Speed: 2394 MHz 
     Status: Populated, Enabled 
     Upgrade: Other 
     L1 Cache Handle: 0x0005 
     L2 Cache Handle: 0x0006 
     L3 Cache Handle: 0x0007 
     Serial Number: To Be Filled By O.E.M. 
     Asset Tag: To Be Filled By O.E.M. 
     Part Number: To Be Filled By O.E.M. 

Handle 0x0005, DMI type 7, 19 bytes 
Cache Information 
     Socket Designation: L1-Cache 
     Configuration: Enabled, Not Socketed, Level 1 
     Operational Mode: Write Back 
     Location: Internal 
...... 
16

我不相信有越詳細linux的/proc/cpuinfo什麼。看看sysctl hw/var/run/dmesg.boot。大多數CPU速度和指令集等信息都應該在某處。

這是我看到的(少數無趣hw.*字段中刪除):(需要注意的是在OpenBSD,CPU的速度在hw.cpuspeed dmesg裏發現的,而不是)

$ uname -sr 
FreeBSD 4.10-RELEASE 
$ grep -i cpu /var/run/dmesg.boot 
CPU: Pentium III/Pentium III Xeon/Celeron (448.97-MHz 686-class CPU) 
$ /sbin/sysctl hw 
hw.machine: i386 
hw.model: Pentium III/Pentium III Xeon/Celeron 
hw.ncpu: 1 
hw.byteorder: 1234 
hw.physmem: 665989120 
hw.usermem: 604614656 
hw.pagesize: 4096 
hw.floatingpoint: 1 
hw.machine_arch: i386 
hw.aac.iosize_max: 65536 
hw.an.an_dump: off 
hw.an.an_cache_mode: dbm 
hw.an.an_cache_mcastonly: 0 
hw.an.an_cache_iponly: 1 
hw.fxp_rnr: 0 
hw.fxp_noflow: 0 
hw.dc_quick: 1 
hw.ste.rxsyncs: 0 
hw.instruction_sse: 0 
hw.availpages: 162432 

+0

在FreeBSD中有,但我不知道在哪裏可以找到它。 – Rob 2010-11-03 15:52:14

+0

但與'/ proc/cpuinfo'不同,'sysctl'需要root權限。 – user2284570 2015-05-26 18:29:14

+0

運行「sysctl」不需要root訪問權限,除非您正在更改實際可以更改的值;除非您完全鎖定用戶運行sysctl的能力,否則查看OID不需要任何特殊權限。 – 2016-04-26 18:32:36

2

需要注意的是,如CPU的功能和各種CPU高速緩存大小的信息是不是在sysctl的輸出,但它們在輸出可以從在FreeBSD下的dmidecode

2

如果你有興趣在CPU的標誌,你也可以看看

dmesg -a | grep Features 

grep Features /var/run/dmesg.boot 

這將顯示類似

Features=0xfebfbff<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> 
Features2=0x82982203<SSE3,PCLMULQDQ,SSSE3,CX16,SSE4.1,SSE4.2,POPCNT, 
AESNI,<b31>> 
AMD Features=0x28100000<NX,RDTSCP,LM> 
AMD Features2=0x1<LAHF> 
+1

捕獲該文件是reduntant,你可以這樣做:'grep Features /var/run/dmesg.boot' – 2017-08-30 15:08:58

相關問題