Storage tool · TRIM

TRIM Check

Is TRIM on for your SSD, and does the drive support it? Run one read-only command and paste what it prints. You get a plain verdict, with the exact line of your paste behind each answer.

Runs entirely in your browser. TRIM Check itself sends nothing you paste anywhere and stores nothing. What you paste stays in this tab and is gone when you close it. Like every page here, this page is counted by Google Analytics, which records the page, your device type and a rough location, never what you paste. Visitors in the European Economic Area, the UK and Switzerland are asked first. See Privacy.

Where TRIM can be lost
  1. You delete a fileThe filesystem marks the blocks free.
  2. Your system decides to send TRIMA Windows setting, a macOS report, a Linux timer or mount option.Read from your paste
  3. The kernel and the connection pass it onEncryption, RAID, USB adapters and virtual disks can each drop it.Read from your paste
  4. The drive accepts itNVMe carries TRIM as Dataset Management. SATA has a TRIM command.Read from your paste
  5. The drive acts on it in its own timeThe controller erases freed blocks later. Nothing outside can watch that.Cannot be seen from here
01

Run one command

Find your system below. Each command only reads and changes nothing, and each has a Copy button.

Windows

  1. Open a command window

    Press the Windows key, type PowerShell and press Enter. A normal (not administrator) window is enough.

  2. Check the TRIM setting

    Copy this, paste it into the window and press Enter.

    fsutil behavior query DisableDeleteNotify

    Prints one or two lines. It only reads a setting; it changes nothing.

  3. Copy what it prints

    Select the output in the window, copy it, and paste it into the box in section 02.

Optional: ask the drive itself whether it supports TRIM

The steps above show whether your system sends TRIM. These read what the drive says it can do, and you can paste that output together with the first.

Optional: what kind of drive is each one?
Get-PhysicalDisk | Select FriendlyName,MediaType,BusType

Lists each drive as SSD or HDD and by connection (NVMe, SATA, USB).

Optional: ask each NVMe drive whether it supports TRIM
$smartctl = "C:\Program Files\smartmontools\bin\smartctl.exe"
& $smartctl --scan | Where-Object { $_ -match "-d nvme" } | ForEach-Object { $d = ($_ -split " ")[0]; & $smartctl -x -d nvme $d | Select-String "Model Number|Optional NVM Commands" }

Needs the free smartmontools (the NVMe SMART Decoder page shows how to install it). It prints only each drive's model and capability line, so no serial number shows.

Optional: test that TRIM is accepted

This one acts on your drive. It is safe, since it only asks the drive to free space that is already unused, but unlike the commands above it is an action, and it needs an administrator window.

Test that TRIM is accepted
Optimize-Volume -DriveLetter C -ReTrim -Verbose

Run it in PowerShell as administrator (right-click PowerShell, Run as administrator). It asks Windows to re-send TRIM for all free space on C:, the same job Windows runs on a schedule.

Linux

  1. Open a command window

    Open a terminal. This one line needs no sudo.

  2. Check discard support, mount options and the weekly timer

    Copy this, paste it into the window and press Enter.

    lsblk --discard; findmnt -no OPTIONS /; systemctl status fstrim.timer --no-pager -n 0

    Runs three read-only commands in a row. It changes nothing, and the output has no serial numbers.

  3. Copy what it prints

    Select the output in the window, copy it, and paste it into the box in section 02.

Optional: ask the drive itself whether it supports TRIM

The steps above show whether your system sends TRIM. These read what the drive says it can do, and you can paste that output together with the first.

Optional: ask an NVMe drive whether it supports TRIM
sudo smartctl -x /dev/nvme0 | grep -E "Model Number|Optional NVM Commands"

Needs smartmontools, and nvme0 stands for your drive (ls /dev/nvme?). The nvme-cli command sudo nvme id-ctrl /dev/nvme0 | grep -E "^(mn|oncs) " also works.

Optional: ask a SATA drive whether it supports TRIM
sudo hdparm -I /dev/sda | grep -i trim

Replace sda with your drive. No output usually means the drive does not report TRIM.

Optional: test that TRIM is accepted

This one acts on your drive. It is safe, since it only asks the drive to free space that is already unused, but unlike the commands above it is an action, and it needs root.

Test that TRIM is accepted
sudo fstrim -v /

It needs root, sends discard commands for the unused space on /, and prints how much it trimmed. A number above 0 B passes, and an error saying discard is not supported means TRIM is not getting through.

macOS

  1. Open a command window

    Open Terminal (Applications, Utilities). No sudo is needed.

  2. Ask macOS whether TRIM is supported

    Copy this, paste it into the window and press Enter.

    system_profiler SPNVMeDataType SPSerialATADataType | grep -E "Model:|TRIM Support:"

    Prints each drive's model and a TRIM Support line. It reads a report; it changes nothing, and no serial number is shown.

  3. Copy what it prints

    Select the output in the window, copy it, and paste it into the box in section 02.

macOS has no user-level trim test. The report above is what macOS itself says.

This page only shows commands. It never runs them. Copy one, run it yourself, and read what it does first. The output of these commands does not include serial numbers.

02

Paste it and read the result

Paste the output below and the result updates in the box under it. Several outputs in a row are fine, and each part is read separately.

Pasting checks at once, as do the Check button and Ctrl+Enter inside the box. Only the first 200,000 characters are read.

Showing real output from a Windows 11 PC with four NVMe SSDs. Paste yours to replace it.

Result

Looks on

Your system is set to send TRIM. The drive itself was not checked. 3 parts read: 2 look good, 1 is background or could not be judged.

"On" is not the same as "working". TRIM is a request your system sends and the drive may handle in its own time or ignore, and this page can only read settings and what the drive says it supports. It cannot see whether any particular delete was trimmed.

What each part says

  1. On

    NTFS: Windows is set to send TRIM

    DisableDeleteNotify is 0. That is Windows' way of saying delete notifications are on: when a file is deleted, Windows tells an SSD which blocks are now free. Windows only does this for SSDs. This is the setting, not proof that a particular drive accepted the commands.

    From your paste
    NTFS DisableDeleteNotify = 0  (Allows TRIM operations to be sent to the storage device)
  2. On

    ReFS: Windows is set to send TRIM

    DisableDeleteNotify is 0. That is Windows' way of saying delete notifications are on: when a file is deleted, Windows tells an SSD which blocks are now free. Windows only does this for SSDs. This is the setting, not proof that a particular drive accepted the commands.

    From your paste
    ReFS DisableDeleteNotify = 0  (Allows TRIM operations to be sent to the storage device)
  3. Info

    Windows lists 4 physical drives: 4 SSD

    By connection: 4 NVMe. This only says what kind of drive Windows thinks each one is.

    From your paste
    FriendlyName         MediaType BusType
    SB-RKT5-4TB          SSD       NVMe
    SB-RKT4P-8TB         SSD       NVMe
    SB-RKT4P-8TB         SSD       NVMe

What to do next

  • The drive's own capability report was not included. Run the optional "ask the drive" command for your system and paste its output too.
  • To test it, run Optimize-Volume -DriveLetter C -ReTrim -Verbose in an administrator PowerShell and paste the output. "Total space trimmed" above 0 means Windows re-sent TRIM and it was accepted.
03

Every command it can read

  • Windows: fsutil behavior query DisableDeleteNotify
  • Windows: Get-PhysicalDisk | Select FriendlyName,MediaType,BusType
  • Windows: Optimize-Volume -DriveLetter C -ReTrim -Verbose
  • Linux: lsblk --discard
  • Linux: systemctl status fstrim.timer (or systemctl is-enabled fstrim.timer)
  • Linux: findmnt -no OPTIONS /
  • Linux: sudo fstrim -v /
  • macOS: system_profiler SPNVMeDataType SPSerialATADataType
  • NVMe drive: sudo nvme id-ctrl /dev/nvme0 (text or -o json)
  • NVMe drive: smartctl -x (the "Optional NVM Commands" line, text or -j)
  • SATA drive: sudo hdparm -I /dev/sda, or smartctl -i
04

What this cannot tell you

  • "On" is not "working".This page reads a setting and what the drive says it supports. TRIM is a request the drive may handle later or ignore, and no pasted text shows that a particular delete was trimmed. The honest tests are the trim runs listed with each system.
  • It reads what you paste, nothing else.A browser cannot see your drives or run TRIM, and this page does not pretend to. It only shows commands. It never runs them, and it never changes a setting.
  • TRIM is for SSDs.A hard drive does not use TRIM the way an SSD does, so a TRIM setting says nothing about it. Virtual disks depend on the host that provides them.
  • What the system sees is not always what is behind it.Behind a USB adapter, a RAID controller or a virtual disk, every result describes what your operating system was told, and the adapter or host may not pass TRIM on.
  • TRIM does not erase data securely.It tells the drive which blocks are free. What the drive does next varies, and deleted data can stay readable for a while. Use encryption or a secure-erase feature when that matters.
  • English output only.The checks look for English wording. If your system prints another language, the lines will not be recognized.
  • NVMe support means Dataset Management.For NVMe, the drive report is the Optional NVM Command Support field. Bit 2 set means the drive supports the Dataset Management command, which is how NVMe carries TRIM.
  • macOS third-party drives need care.If macOS says TRIM Support: No for an SSD Apple did not fit, a Terminal command called trimforce can override it. Apple warns it can cause data loss on drives that mishandle TRIM. This page does not recommend it.