würmchen hat geschrieben:hm, also bei linux kann man da einfach die /proc Dateien auslesen, das sollte doch auch auf dem Mac gehen, oder?
Was fuer Linux /proc ist, ist bei den BSDs (und scheinbar auch bei Mac OS X) der sysctl Systemaufruf (siehe voriges Posting) bzw. das sysctl Programm. Es gibt z.B. solche Daten aus:
Code: Alles auswählen
$ sysctl -a
kern.ostype: FreeBSD
kern.osrelease: 7.1-PRERELEASE
kern.osrevision: 199506
kern.version: FreeBSD 7.1-PRERELEASE #0: Fri Sep 26 14:43:33 CEST 2008
root@some.host.name:/usr/obj/usr/src/sys/GENERIC
kern.maxvnodes: 100000
kern.maxproc: 6164
kern.maxfiles: 12328
kern.argmax: 262144
kern.securelevel: -1
kern.hostname: some.host.name
kern.hostid: 143286141
kern.clockrate: { hz = 1000, tick = 1000, profhz = 2000, stathz = 133 }
kern.posix1version: 200112
(...)
kern.threads.virtual_cpu: 4
kern.threads.max_threads_hits: 0
kern.threads.max_threads_per_proc: 1500
(...)
hw.machine: amd64
hw.model: AMD Phenom(tm) 9350e Quad-Core Processor
hw.ncpu: 4
hw.byteorder: 1234
hw.physmem: 2066624512
hw.usermem: 1789452288
hw.pagesize: 4096
hw.floatingpoint: 1
hw.machine_arch: amd64
(...)
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.P001
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 1990
dev.cpu.0.freq_levels: 1990/-1 1741/-1 1492/-1 1243/-1
dev.cpu.0.cx_supported: C1/0
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00%
(...)
Man kann auch gezielt einige OIDs abfragen:
Code: Alles auswählen
$ sysctl kern.maxfilesperproc
kern.maxfilesperproc: 11095
Oder (als root) einige Parameter aendern:
Code: Alles auswählen
# sysctl dev.cpu.0.freq=1243
dev.cpu.0.freq: 1990 -> 1243
Was das sysctl Programm kann, kann natuerlich auch der sysctl Systemaufruf.