2010-11-03 11 views
14

फ्रीबीएसडी v8.1 पर लिनक्स/proc/cpuinfo के बराबर क्या है? मेरा एप्लिकेशन/proc/cpuinfo पढ़ता है और लॉग फ़ाइल में जानकारी सहेजता है, फ्रीबीएसडी पर समान जानकारी लॉग इन करने के लिए मैं क्या कर सकता हूं?फ्रीबीएसडी 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

+0

सही, वर्तमान में मेरा उत्पाद निष्पादन के दौरान इस फ़ाइल को पढ़ता है, मैं फ्रीबीएसडी पर समकक्ष कार्रवाई करना चाहता हूं। – WilliamKF

उत्तर

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

मैं नहीं मानता कि कुछ भी रूप में लिनक्स का /proc/cpuinfo के रूप में विस्तृत जानकारी दी है। sysctl hw और /var/run/dmesg.boot पर देखें। सीपीयू की गति और निर्देश सेट जैसी अधिकांश जानकारी वहां कहीं भी होनी चाहिए।

यह मैं (हटाया कुछ अरुचिकर hw.* क्षेत्रों के साथ) क्या देखते है: (। ध्यान दें कि OpenBSD पर, CPU गति dmesg में के बजाय hw.cpuspeed में पाया जाता है)

$ 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

फ्रीबीएसडी में है लेकिन मैं यह कहने में बहुत लंबा रहा हूं कि इसे कहां मिलना है। – Rob

+0

लेकिन '/ proc/cpuinfo' के विपरीत, 'sysctl' रूट पहुंच प्राप्त करता है। – user2284570

+0

रनिंग 'sysctl' को रूट पहुंच की आवश्यकता नहीं है जब तक कि आप उन मानों को बदल नहीं रहे हैं जिन्हें वास्तव में बदला जा सकता है; ओआईडी को देखने के लिए किसी भी विशेष अनुमति की आवश्यकता नहीं होती है जब तक कि आप उपयोगकर्ताओं को sysctl चलाने की क्षमता को पूरी तरह से लॉक नहीं करते। –

3

बस jleedev की टिप्पणी में जोड़ने के लिए, आप इस जानकारी को कर्नेल से अपने आवेदन से प्राप्त करने के लिए sysctl(3) syscall का उपयोग कर सकते हैं। CTL_HW शीर्ष स्तर के नाम देखें:

http://www.manpages.info/freebsd/sysctl.3.html

+0

धन्यवाद, sysctl (8) का उपयोग करने के लिए सबसे आसान था। – WilliamKF

2

ध्यान दें कि सीपीयू सुविधाओं और विभिन्न सीपीयू कैश आकार की तरह जानकारी sysctl उत्पादन में नहीं हैं, लेकिन वे dmidecode FreeBSD के नीचे से उत्पादन में उपलब्ध हैं।

2

आप सीपीयू झंडे में रुचि रखते हैं, तो आप भी

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

फ़ाइल को कैट करना अनावश्यक है, आप यह कर सकते हैं: 'grep विशेषताएं /var/run/dmesg.boot' –