Skip to content

How we decide.

Your laptop's own numbers go in. One of four answers comes out.

Three checks decide your answer.

Your measurements

  • Memory pressure
  • Swap
  • Memory in use
  • Graphics and processor load

Is memory pinned at the limit?

  • Red in 50% or more of readings
  • yellow or red in 90%, with 4 GB of swap
yes
Too close to the limit to judgeWe show the options step by step
no

Is it short of memory, or of chip?

  • Red in 5% or more of readings
  • yellow or red in 25%
  • the graphics chip or processor maxed out in 20%
yes
UpgradeThe smallest size that fits
no

Is there plenty to spare?

  • Never red, and yellow or red in 2% or less
  • swap under 0.5 GB
  • RAM at least 1.5x what you need
yes
More than you needBuy less next time
no

None of the above

then
Right-sizedKeep it, or replace like for like
The first check that fires wins. Already at the most memory a laptop has? Also the limit.

Seven numbers, every 30 minutes.

One reading

Taken every 30 minutes while the laptop is awake

Memory pressure
Red
Memory in use
14.11 of 16 GB
Swap on disk
2.8 GB
Compressed memory
4.99 GB
Graphics load
11.7%
Processor load
37.6%
Installed memory
16 GB, M3

What Apple says the colours mean

  • Green Using all of its RAM efficiently.
  • Yellow Might eventually need more RAM.
  • Red Needs more RAM.

Apple, Activity Monitor guide

Never recorded, so never read into a verdict

  • Redacted: Names of running programs
  • Redacted: Computer and user name
A real reading from the sample Mac below. Windows has no pressure colour: committed memory at 80% is yellow, 90% red.

140 readings became “Upgrade to 24 GB”.

  1. A Mac with 16 GB, watched for 14 days

    140 readings, one every 30 minutes while awake.

  2. Count the colours

    14 red, 32 yellow, 94 green.

  3. Compare with the lines

    Red in 10% of readings: over the 5% upgrade line, under the 50% line where we give up.

    10%5%50%
  4. Size the busy hours

    14.21 GB in use plus 3.14 GB pushed to disk is 17.4 GB of demand, more than the 16 GB it has.

    17.4 GB demand16 GB installed
  5. Keep a fifth free

    17.4 GB / 0.8 = 21.7 GB. The next size Apple sells is 24 GB.

    16 GB24 GB32 GB36 GBneeds 21.7 GB

Upgrade to 24 GB

Smallest size that fits. Confidence: High, from 140 readings over 14 days.

Every rule is a line you can see.

  • More than you need
  • Right-sized
  • Upgrade
  • Cannot judge

Readings in the red

5%50%

5% means upgrade. 50% hides your real need.

Readings in yellow or red

2%25%90%

Under 2% may be oversized. 25% means upgrade.

Swap at your busiest

0.5 GB4 GB

Swap alone is normal. 4 GB counts with strained memory.

Chip maxed out

20%

Graphics 80% or processor 90%, in 20% of readings.

Memory we keep free

plan on 80%

20% of RAM stays free at your busiest.

RAM against what you need

1.5x

1.5x what you need, memory never short: oversized.

Show all thresholds 30 constants, generated from the code that decides
ConstantValueBasisWhat it means
PRESSURE_LEVEL_NORMAL1 levelAppleGreen. Apple: "Your computer is using all of its RAM efficiently."
PRESSURE_LEVEL_WARN2 levelAppleYellow. Apple: "Your computer might eventually need more RAM."
PRESSURE_LEVEL_CRITICAL4 levelAppleRed. Apple: "Your computer needs more RAM." Level numbers follow libdispatch.
LEGACY_COMPRESSED_ELEVATED_RATIO0.25 ratio of RAMOur judgementOlder captures without the OS level: compressed memory at this share of RAM counts as yellow.
LEGACY_COMPRESSED_CRITICAL_RATIO0.5 ratio of RAMOur judgementOlder captures without the OS level: compressed memory at this share of RAM counts as red.
WIN_COMMIT_ELEVATED_PCT80 %Our judgementWindows: memory committed at or above this counts as yellow. Microsoft publishes no threshold; this is the line the report already drew.
WIN_COMMIT_CRITICAL_PCT90 %Our judgementWindows: memory committed at or above this counts as red.
AT_LIMIT_RED_SHARE0.5 share of capturesOur judgementRed in at least this share of captures: the machine is pinned and true demand is unknown.
AT_LIMIT_NONGREEN_SHARE0.9 share of capturesOur judgementAlso pinned: yellow or red this often, together with heavy swap.
AT_LIMIT_SWAP_P50_GB4 GBOur judgementThe swap level (median capture) that goes with the line above.
UPGRADE_RED_SHARE0.05 share of capturesOur judgementRed in at least this share of captures means upgrade. Apple calls red "needs more RAM".
UPGRADE_NONGREEN_SHARE0.25 share of capturesOur judgementYellow or red this often means upgrade. Apple calls yellow "might eventually need more RAM".
UPGRADE_SWAP_P95_GB4 GBOur judgementHeavy swap at the busy hours, together with the line below, means upgrade.
UPGRADE_SWAP_MIN_NONGREEN_SHARE0.1 share of capturesOur judgementSwap alone is normal on a healthy Mac, so it only counts when pressure was also yellow or red this often.
OVERSIZED_MAX_RED_SHARE0 share of capturesOur judgementOversized needs red in at most this share of captures: none.
OVERSIZED_MAX_NONGREEN_SHARE0.02 share of capturesOur judgementOversized needs yellow-or-red in at most this share of captures.
OVERSIZED_SWAP_P95_GB0.5 GBOur judgementOversized needs swap at the busy hours to be negligible.
OVERSIZED_MIN_SAVING_FACTOR1.5 xOur judgementOversized needs installed RAM to be at least this many times the size your demand needs.
DEMAND_PERCENTILE95 percentileOur judgementWe size for the busy hours (this percentile of the captures), not the average.
HEADROOM_FRACTION0.2 share of RAMOur judgementThe share of RAM we want free at the busy hours.
MIN_RECOMMENDED_RAM_GB16 GBAppleNo current MacBook ships with less.
GPU_SATURATED_PCT80 %Our judgementA capture counts as GPU-saturated at or above this. The report already drew this line.
CPU_SATURATED_PCT90 %Our judgementA capture counts as CPU-saturated at or above this.
COMPUTE_SATURATED_SHARE0.2 share of capturesOur judgementThe chip is the limit when this share of captures is saturated.
CONF_HIGH_MIN_CAPTURES100 capturesOur judgementHigh confidence needs at least this many captures...
CONF_HIGH_MIN_DAYS10 daysOur judgement...on at least this many different days.
CONF_MEDIUM_MIN_CAPTURES30 capturesOur judgementMedium confidence needs at least this many captures...
CONF_MEDIUM_MIN_DAYS5 daysOur judgement...on at least this many different days. Below this the verdict is provisional.
CONF_BOUNDARY_BAND0.2 shareOur judgementA deciding number within this band of its threshold lowers confidence one level.
CONF_MAX_UNCLASSIFIED_SHARE0.2 share of capturesOur judgementMore captures than this without a memory signal makes confidence LOW.

Most lines are our judgement, and the table says which. Think one is wrong? Send us your numbers.

More days, more confidence.

ProvisionalMediumHigh051014030100140days with readingsreadings

The example above sits in the high corner: 140 readings over 14 days. A deciding number close to its line lowers it one level.

It measures your workload on this machine, for these days. Storage, screen, battery and budget stay yours to weigh.

What we compare against.

Memory options in GB, and Apple starting price as of 2026-10-20
MacBook162432364864128From, as of 2026-10-20
MacBook Air 13-inch M5 (8-core GPU)16 GB24 GB32 GB€1.429 / $1,299
MacBook Air 13-inch M5 (10-core GPU)16 GB24 GB32 GB€1.539 / $1,399
MacBook Air 15-inch M516 GB24 GB32 GB€1.729 / $1,499
MacBook Pro 14-inch M516 GB24 GB32 GB€2.229 / $1,999
MacBook Pro 14-inch M5 Pro (16-core GPU)24 GB48 GB€2.949 / $2,499
MacBook Pro 14-inch M5 Pro (20-core GPU)24 GB48 GB64 GB€3.199 / $2,699
MacBook Pro 14-inch M5 Max (32-core GPU)36 GB€4.849 / $4,099
MacBook Pro 14-inch M5 Max (40-core GPU)48 GB64 GB128 GB€5.509 / $4,699
MacBook Pro 16-inch M5 Pro24 GB48 GB64 GB€3.449 / $2,999
MacBook Pro 16-inch M5 Max (32-core GPU)36 GB€5.149 / $4,399
MacBook Pro 16-inch M5 Max (40-core GPU)48 GB64 GB128 GB€5.749 / $4,999

offered. Columns are memory in GB.

Each row opens its own page. Prices: Apple store, NL with VAT. Open data: catalog.json.

See it on your own laptop.

Get SizeMyLaptop

  1. Open Terminal

    Press Command and Space, type Terminal, press Return.

  2. Paste it and press Return

    One command installs the tool, checks its checksum, then starts recording. No password, no admin rights.

    curl -fsSL https://sizemylaptop.com/install.sh | bash -s -- --start

    Rather read it first? Download it, read it, then run it:

    curl -fsSLO https://sizemylaptop.com/install.sh && less install.sh && bash install.sh --start
  3. Done. Keep working as usual.

    After one to two weeks, run baseline report in Terminal (the installer prints the exact command). It stops recording by itself after 14 days and the report opens in your browser.

Free. Nothing leaves your Mac unless you click Share. No password, no admin rights. Needs Python 3 (a Mac without it shows Apple's one-time install window); installs nothing else.