M1 Macs

A collation of articles about M1, M1 Pro and M1 Max Macs.

Setting up and getting started

How to pick memory and storage for an M1 Mac
Mac Studio Max and Studio Display: impressions and future
Which SSDs can you boot your M1 Mac from? Do hard disks work too?
What performance to expect from SSDs
Which external storage?
Does it matter which Thunderbolt ports you use?
Explainer: Thunderbolt
Are Thunderbolt SSDs more consistent than USB?
Opening Pandora’s SSD
M1 Pro First Impressions: 1 Setting up
M1 Pro First Impressions: 2 Core management and CPU performance
Welcome to your new M1/M1 Pro/M1 Max Mac
How macOS controls performance: QoS on Intel and M1 processors
Migrating to a new Mac
Essential reading for M1 Mac users
Maintaining macOS has changed
Introducing your new M1 Mac
So Santa brought you an M1 Mac: here’s what you should know


Benchmarking the Mac Studio (Max) and M1 Pro MacBook Pro
Explainer: Benchmarks
What performance to expect in the Mac Studio
Explainer: Parallel computing
What shouldn’t you use an M1 series Mac for?
Using an M1 Mac: some basic principles
Can you change lid behaviour of M1 MacBook Pros?
Booting an M1 Mac from hardware to kexts: 1 Hardware
Booting an M1 Mac from hardware to kexts: 2 LLB and iBoot
Booting an M1 Mac from hardware to kexts: 3 XNU, the kernel
How macOS manages M1 CPU cores
Running tasks on E cores can use a third of the energy of P cores
Why more apps need speed controls
Do M1 Pro and Max CPUs run slower on battery?
What’s in an M1 chip, and what does it do differently?
When an M1 Mac mini is faster than an M1 Pro: contention and core allocation
How you can’t promote threads on an M1
Scheduling of Threads on M1 Series Chips: second draft
On M1 chips 1 + 1 = 4
A Christmas Core Carol – overview of multiple cores on Apple systems
AsmAttic 4 gives insight into M1, M1 Pro and M1 Max performance
Hurricane and Icestorm – AMP, power, and background tasks
Queue-jumping, hints and deep integration – inside M1 integration
Who needs a desktop Mac?
What’s ugliest about M1 Macs and needs improvement
MacBook Pro scoresheet
Is that a thunderstorm coming? macOS 11.6, 12, and Apple Silicon Macs
Would you regret an M1 iMac?
How big should the memory and SSD be in your next M1 Mac?
Next phase of the Apple Silicon transition
What could go wrong with apps on Big Sur and Apple Silicon?
How abysmal SMB performance can choke networked backups
Looking for the killer app
Feeling fast, the psychology of computer performance
Who started that Mac up? How Macs can start up on their own

M2 Macs

Do M2 Macs need better storage support?

macOS 12 Monterey

What has changed in Monterey 12.4?
Monterey 12.4 update, Big Sur 11.6.6 and Catalina SU 2022-004 are now available
The slim hope of recovery – M1 Recovery Mode and external boot disks
Inside Apple Archive: more than a compression format
Inside Apple Archive: performance and control
Cormorant 1.4: getting more from Apple Archive
Inside the new macOS update log
How to enable, use and fix Visual Look Up
What has changed in Monterey 12.3.1?
Apple has released Monterey 12.3.1 update
Which of Monterey’s features aren’t available where?
How good is Monterey’s Visual Look Up?
How Visual Look Up works in detail 1: paintings on Intel and M1 Macs
How Visual Look Up works in detail 2: Object recognition and Live Text
When Visual Look Up fails
Live Text, Visual Look Up, Face Recognition, ML and Privacy
What has changed in macOS Monterey 12.3?
Apple has released Monterey 12.3, Big Sur 11.6.5 and Catalina SU 2022-003
Diagnosing Bluetooth problems in Monterey
How to work around Monterey’s Finder memory leak
There’s still a hole in my bucket, Monterey’s memory leak
What has changed in Monterey 12.2?
Apple has released Monterey 12.2, Big Sur 11.6.3 and Catalina SU updates
Memory Lane: Grokking memory problems in Activity Monitor
Inside iCloud+ Private Relay: can it be trusted?
Shrinking macOS updates
Boot disk layout in macOS Monterey
Apple has released Monterey 12.1 update, and security updates for Big Sur and Catalina
What has changed in Monterey 12.1?
Those little annoyances in Monterey 12.0.1
Just like that: the Finder’s failed trick with APFS
FaceTime’s new effect and modes
Erase All Contents and Settings: prepare your Mac for disposal and more
More memory leaks in Monterey 12.0.1: how to avoid them
Disk Utility still can’t check and repair APFS volumes and containers
Monterey’s memory leak and how to avoid it
AirPlay Display in Monterey
Shortcuts: flow control, filters, sorting and iteration
Monterey 12.0.1, Big Sur 11.6.1 and Catalina Security Update 2021-007: a summary
Shortcuts: counting files and Quick Actions
Getting started with Shortcuts: 1 Basics
What’s really coming in Monterey and other macOS updates next week
M1 Pro, M1 Max, the notch and Monterey
Marking time
Should you clean install Big Sur or Monterey?
Retaining access to Big Sur when upgrading your M1 Mac to Monterey
Explainer: Live Text


What to do when your Mac slows to a crawl
How macOS is more reliable, and doesn’t need reinstalling
Inside macOS installer apps and disks
Squeezing a thimbleful of update into a ten-gallon can
Why are Big Sur updates so large?
Better beta-testing
Inside the Content Caching server: performance and troubleshooting
How to make macOS betas and upgrades safer
Why you can’t make a snapshot of Big Sur’s System volume to roll back
Apple has released Big Sur 11.4 update, and Security Updates for Catalina and Mojave
What has changed in Big Sur 11.4?
Apple has released Big Sur 11.3.1 update (updated)
Big Sur 11.3 bug tracker
Changing updating habits
When will macOS updates hurt less?
That macOS update has caused havoc. What do I do next?
Apple has released Big Sur 11.3 update
What has changed in macOS Big Sur 11.3?
Apple has released Big Sur 11.2.3
Users are losing out against Big Sur’s sealed System
Big Sur 11.2.2 still doesn’t fix bugs with M1 external bootable disks
Big Sur 11.2.1 update is broken
Big Sur, Software Update, Content Caching Server and M1 Macs
What’s changed in Big Sur 11.2?
How to get the best out of the App Store

Recovery and startup modes

A guided tour of M1 Recovery
Explainer: The ‘bricked’ Mac
Did someone forget their password? Getting access to a locked Mac
Startup modes for M1 Macs
A Guide to Startup Modes for Intel and M1 Macs
Solutions for macOS Monterey and Big Sur
What does Safe Mode do to an M1 Mac?
Explainer: Non-Volatile RAM (NVRAM)
How Recovery works on M1 series Macs
How Monterey changes Apple Silicon Recovery
How to recover a Mac from a kernel panic
Making a good Recovery: So many tools
Making a good Recovery: Installing a different macOS in Recovery
Explainer: the Recovery Partition
Dual-booting macOS: Disk structure and Recovery
Rethinking recovery and re-installing macOS
Is there still something amiss in the M1 firmware? – problems after erasing the macOS container on the internal SSD, and solutions
In the recovery position
Launching Recovery on an M1 Mac: Booting and control in 11.4
1 True Recovery
M1 Macs have a third Recovery mode
M1 Macs have another hidden boot mode
Why your M1 may not have Fallback Recovery yet
More M1 mysteries: Boot Recovery Assistant
Updating external disks and 1 True Recovery on an M1 Mac
System management and NVRAM on M1 Macs
M1 Macs radically change boot and recovery
What happens when an M1 Mac starts up?
How fast is an M1 Target Disk?

Security and firmware

kextermination is coming
The kernel and extensions 2: Secure Boot
How Monterey checks apps and executable code
Things that go bump in SilentKnight: serious security failures
Owners and users: Primary and secondary systems on M1 Macs
How Secure Boot works on M1 series Macs
The perils of M1 Ownership
Big Sur 11.4 brings LocalPolicy and recovery access to M1 Macs
M1 Secure Boot, morphine and self-destruction
How to roll your M1 Mac back to Big Sur 11.1
Which firmware should your Mac be using? (version 5) – for Big Sur
Why is my Mac’s Gatekeeper data so out of date?
SilentKnight 1.15 and LockRattler 4.30 do more on Big Sur and M1 Macs
Code-signing requirements for scripts and apps in Big Sur
Apple Silicon Macs will require signed code
Big Sur’s Signed System Volume: added security protection
Silently updated security data files in Monterey

External boot disks

Which SSDs can you boot your M1 Mac from? Do hard disks work too?
Booting a Mac Studio from an external SSD, and what it doesn’t solve
How M1 Macs can run old firmware when Intel Macs can’t
Creating a bootable external disk with an M1 Pro in Monterey
When you can’t restart an M1 Mac from an external disk
How to create a bootable external disk in macOS 11 or 12
M1 Macs running Big Sur 11.4 support external disks fully
Booting an M1 Mac: external disks and local boot policy in macOS 11.4
Why cloning Big Sur isn’t as useful for an M1 Mac
Can you create an external bootable disk by cloning an M1 Mac?
Dealing with a kernel panic during M1 startup
Historical accounts:
How it took 6 months for M1 Macs to work properly
How to boot an M1 Mac into an older version of Big Sur
Booting an M1 Mac: external disks and local boot policy
External bootable disks work better with M1 Macs in Big Sur 11.3
Are external boot disks a thing of the past?
Updating external disks and 1 True Recovery on an M1 Mac
Big Sur 11.2.1 update is broken – more info about getting an external boot disk to work
External boot disks still don’t work properly with M1 Macs
Booting an M1 Mac from an external disk: it is possible
Is it not possible to boot an M1 Mac from an external disk?

Rosetta, Universal Apps

Running Intel code on your M1 Mac: Rosetta 2 and OAH
When you don’t have permission to run an app on an M1 Mac
How Rosetta complicates call chains on M1 Macs
Rosetta 2 won’t let the undead die
The non-Universal binary: a cautionary tale
Coming NeXT on Apple Silicon
Magic, lipo and testing for Universal binaries
How to tell Intel code from Universal
Tuning Apple Silicon will be complex at first

iOS and iPadOS Apps

How macOS launches an iOS app
iOS apps are translocated when run in macOS
How macOS manages iOS apps: RunningBoard comes of age

Disk maintenance and layout

Why M1 Macs don’t have full support for USB-C
Managing snapshots: how to stop them eating free space
Where’s my Data volume? Navigating boot volumes in macOS 10.15, 11 & 12
Checking disks on an M1 Mac
Boot disk layout in macOS Monterey
Big Sur boot volume layout
Mirages in the file system: Update and backups
Why you shouldn’t delete one of a Volume Group in macOS 11 or later
Juggling with HFS+ and APFS partitions and volumes: a primer

SSD performance

M1 Thunderbolt ports don’t fully support USB 3.1 Gen 2
SSD wear and IORegistry
Running custom storage benchmarks using Stibium
Back to measuring the performance of M1 Mac internal storage
It looks like the M1 SSD is faster than those in Intel Macs, but…
Internal SSDs can read files at extreme speed
How fast is the SSD inside an M1 Mac?


Extensions are moving away from the kernel
Tackling extension problems in Big Sur
Extensions, Big Sur and M1 Macs


Big Sur 11.1: bug in log show command affecting Ulbow and Consolation
Inside M1 Macs: Time and logs

Time Machine

Does removing I/O throttling make backups faster?
Can you back up iCloud documents?
Understanding and managing Time Machine snapshots
Still struggling with snapshots
Why Time Machine backups can be interminably slow
Is backing up to networked storage improving?
Why nothing else can back up to APFS like Time Machine does
Should you back up to APFS or HFS+?
How should you check an APFS backup store?
Going beyond T2M2 with Mints: grokking Time Machine to APFS
Time Machine to APFS: Evolution
Time Machine to APFS: Understanding backups
Time Machine to APFS: Backing up
Time Machine to APFS: How processes have changed
Time Machine to APFS: Backup structure and access
Time Machine to APFS: Maintenance and repair
Time Machine to APFS: Changing disks
Time Machine to APFS: How efficient are backups?
Time Machine to APFS: First full backup
Getting started with Time Machine to APFS in Big Sur
Time Machine to APFS: Using a network share
Time Machine to APFS: When a network backup goes wrong
Improving the performance of Time Machine backups to network storage
T2M2 version 1.15 analyses APFS backups in Big Sur and is a Universal App
APFS changes in Big Sur: how Time Machine backs up to APFS, and more
MacSysAdmins presentation on Time Machine: slides

Time differences

Inside M1 Macs: Time and logs
Times forgotten
Mints now tells you the (Mach absolute) time
Changing the clock in Apple Silicon Macs

Design and performance

What’s the fastest way to transfer files with M1 Macs?
Don’t trust Activity Monitor on M1 Macs
The hunt for the M1’s neural engine
Making sense of M1 memory use
CPU percentage is misleading on M1 Macs
WindowServer is hungry for memory on M1 Macs
Core allocation in M1 chips
macOS has different strategies for M1 cores
How macOS manages many processes on M1 cores
Power, frequency, management: how M1 E cores win
Explainer: Vectors, Accelerate and poor performance on M1 Macs
How can you compare the performance of M1 chips? 1 Geekbench
How can you compare the performance of M1 chips? 2 Core allocation
Comparing performance of M1 chips: 3 P and E
Comparing performance of M1 chips: 4 Icestorm
Anomalies in base performance of M1 cores
Explainer: chipsets and Fabric
Explainer: Unified memory
M1 Icestorm cores can still perform very well
Accelerating the M1 Mac: an introduction to SIMD
Explainer: macOS scheduled background activities
How to run commands and scripts on Efficiency cores
Are there flaws in some ARM64 instructions?
How M1 Macs feel faster than Intel models: it’s about QoS
Cores shouldn’t all be the same: M1 Macs do better
There’s more to the M1 than speed
How unified memory blows the SoCs off the M1 Macs
How Big Sur checks Universal Apps
Can you trust floating-point arithmetic on Apple Silicon?

Teething troubles

Why won’t that Help book open?
A tendency to panic
How to restore Spotlight search of Rich Text files
Upgrading to Big Sur 11.0.1: news from the surgery
Will Big Sur support the cloning of System volumes?

Assembly language programming

Code in Assembly for Apple Silicon with the AsmAttic app (1)
Code in ARM Assembly: 2 Registers explained
Code in ARM Assembly: 3 Working with pointers
Code in ARM Assembly: 4 Controlling flow
Code in ARM Assembly: 5 Conditional loops
Code in ARM Assembly: 6 Flow, pipelines and performance
Code in ARM Assembly: 7 Moving data around
Code in ARM Assembly: 8 Integer arithmetic
Code in ARM Assembly: 9 Bit operations
Code in ARM Assembly: 10 Conditions without branches
Code in ARM Assembly: 11 Floating point registers and conversions
Code in ARM Assembly: 12 Rounding and arithmetic
When idiomatic code is slower, and how to Accelerate
Where’s the accelerator? – documentation for SIMD and Accelerate
Code in ARM Assembly: 14 Lanes and loads in NEON