sysctl information

This page provides reference details for reading the contents of sysctl info obtained in Mints. Mints displays this information in sections, selected using the popup menu. Within each of these, the information is named using a dot notation, e.g. hw.memsize. Lists for each of the main top-level sections, user, kern, etc., are given below.

Apple provides two reference pages for developers wanting to check architecture-specific information:

Some additional information is also provided in man sysctl, and in its source code.

user

See man sysctl for further details.

kern

  • ostype: Darwin
  • osrelease: [Darwin kernel version number]
  • osrevision: 199506
  • version: Darwin Kernel Version 23.2.0: Wed Nov 15 21:54:10 PST 2023; root:xnu-10002.61.3~2/RELEASE_X86_64
  • hostname: [computer host name]
  • boottime: [the timestamp in seconds of the last boot (since 1970 UTC), and the date and time of that last boot]
  • safeboot: 0 [for a regular boot]
  • osproductversion: [macOS version]

See man sysctl for fuller details.

vm

This concerns virtual memory usage, little of which is documented, and most is only relevant to engineers.

  • loadavg: [gives the last three average loads on VM]
  • swapusage: [gives usage of swap, and whether it’s encrypted]

vfs

This gives in-depth information about file systems, almost none of which is documented.

net

Networking, which has limited documentation in man sysctl.

debug

This is essentially undocumented.

hw

Apple provides more extensive documentation for developers, for this section covering hardware, primarily the CPU and its capabilities.

  • memsize: [size in bytes of RAM]
  • optional.* specify processor options that are available
  • physicalcpu_max: [number of physical cores]

For each CPU core type, performance levels are given, here for level 0:

  • perflevel0.physicalcpu: number of physical cores
  • perflevel0.physicalcpu_max: number of physical cores
  • perflevel0.logicalcpu: number of logical cores
  • perflevel0.logicalcpu_max: number of logical cores
  • perflevel0.l1icachesize: size in bytes of L1 instruction cache
  • perflevel0.l1dcachesize: size in bytes of L1 data cache
  • perflevel0.l2cachesize: size in bytes of L2 cache
  • perflevel0.cpusperl2: number of cores that share each L2 cache
  • perflevel0.l3cachesize: size in bytes of L3 cache
  • perflevel0.cpusperl3: number of logical cores that share each L3 cache
  • perflevel0.name: Standard [the name of that performance level]

For Apple silicon, those are named Performance and Efficiency, of course.

For Apple silicon, CPU core features are listed in hw.optional.arm as

  • optional.arm.FEAT_FHM: floating-point half-precision multiplication instructions
  • optional.arm.FEAT_DotProd: advanced SIMD Int8 dot product instructions
  • optional.arm.FEAT_RDM: advanced SIMD rounding double multiply accumulate instructions
  • optional.arm.FEAT_SPECRES: undocumented
  • optional.arm.FEAT_FRINTTS: floating-point to integral-valued floating-point number rounding instructions
  • optional.arm.FEAT_FCMA: floating-point complex number instructions
  • optional.arm.FEAT_JSCVT: JavaScript conversion instruction
  • optional.arm.FEAT_PAuth2: undocumented
  • optional.arm.FEAT_FPAC: advanced pointer authentication, introduced in ARMv8.6-A
  • optional.arm.FEAT_BF16: support for bfloat16 instructions, introduced in ARMv8.6-A
  • optional.arm.FEAT_I8MM: advanced SIMD Int8 matrix multiplication instructions, introduced in ARMv8.6-A
  • optional.arm.FEAT_ECV: support for Enhanced Counter Virtualization, enhancing the Generic Timer architecture
  • optional.arm.FEAT_FP16: general float16 instructions
  • optional.arm.FEAT_BTI: instructions to guard against the execution of instructions that aren’t the intended target of a branch
  • optional.armv8_crc32: CRC32 instructions
  • optional.AdvSIMD_HPFPCvt: advanced SIMD float16 conversion instructions

Others are documented by Apple.

machdep

These are machine-dependent features.

For Intel CPUs these include:

  • cpu.vendor: GenuineIntel
  • cpu.brand_string: Intel(R) Xeon(R) W-2140B CPU @ 3.20GHz [for example]
  • cpu.core_count: 8 [for example]

For Apple silicon they may include:

  • cpu.cores_per_package: [total number of CPU cores]
  • cpu.core_count: [total number of CPU cores]
  • cpu.logical_per_package: [total number of CPU cores]
  • cpu.thread_count: [total number of CPU cores]
  • cpu.brand_string: Apple M3 Pro [for example]

security

These are undocumented, and include

  • mac.amfi.unsigned_code_policy: [should be 0 on Intel, and 1 on Apple silicon]
  • mac.asp.policy.gatekeeper_enabled: [1 to indicate that Gatekeeper is enabled]

ktrace

These are undocumented.

kperf

These are undocumented.

other

These are likely to be empty on Intel, with entries from kpc and iogpu on Apple silicon. Those are undocumented.

Many thanks to all those who have made suggestions, provided additional information, and corrected my errors.