Are there any benefits to deleting unused Mac OS X kernel extensions?

I find that many of the kernel extensions in /System/Library/Extensions are inapplicable to my MacBook, such as extensions for fibre channel cards, firewire, graphics cards I don't have, etc. Is there any benefit (in boot time, RAM footprint, etc.) to deleting these unneeded extensions?


Probably there is a benefit in boot up time.

  • First I would record the current boot up time (it is reported in the Console).

  • Next I would make sure to know what I am doing…

To delete actively loaded .kext, I recommended to find which ones are actually loaded.

  • I suggest getting an app called Kext Wizard.

Kext Wizard Screenshot

This will tell you exactly what is loaded, rather than just using the list from System Information. System Information might not give you everything, and Kext Wizard could find others that were loaded.


Actually, any difference in boot up time would be negligible - OS X doesn't boot /mach_kernel — it boots the kernel cache (/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache), which already has the kexts you are using. This gets rebuilt if /System/Library/Extensions gets modified (or if you touch(1) it deliberately).

In terms of the filesystem space, as of Snow Leopard, everything is compressed. Meaning you're not really wasting too much space, either.

There is a downside, however — if you delete kexts, even with kext wizard, or whichever utility, there is a remote chance that some kext will be loaded on demand (e.g. via IOKit probing, on some USB device, for example). In this case, a kext might not be found - and you lose a driver.

In short, if it ain't broken, don't fix it. Leave /System/Library/Extensions intact.