sysctl

sysctl is a standard BSD facility for configuring kernel state variables. Use sysctl name to display a variable name, as in sysctl kern.ostype. Use sysctl -a to display all variables. You can set a variable with sysctl -w name = value. You must have superuser privileges to set a variable.

Table 8-6 lists the sysctl variables on Mac OS X. See the sysctl(3) manpage for a description of the sysctl system call and more detailed information on the kernel state variables.

Table 8-6. sysctl’s kernel state variables

Name

Type

Writable

Description

hw.busfrequency

int
no

Bus frequency in hertz. Divide by one million to get a megahertz figure.

hw.byteorder

int
no

Variable that returns 4321, showing the ordering of four bytes on the PowerPC platform.

hw.cachelinesize

int
no

The cache line size in bytes.

hw.cpufrequency

int
no

CPU frequency in hertz. Divide by one million to get a megahertz figure.

hw.epoch

int
no

Variable that indicates whether your hardware is in the New World or the Old World. Old World Macintoshes (pre-G3) will have a value of 0.

hw.l1dcachesize

int
no

Level 1 data cache size in bytes.

hw.l1icachesize

int
no

Level 1 instruction cache size in bytes.

hw.l2cachesize

int
no

Level 2 cache size in bytes.

hw.l2settings

int
no

Level 2 cache settings.

hw.l3cachesize

int
no

Level 3 cache size in bytes.

hw.l3settings

int
no

Level 3 cache settings.

hw.machine

string
no

Machine class (Power Macintosh ...

Get Mac OS X for Unix Geeks now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.