NVMe list Usage: Zero or Partial Utilization Does Not Mean Lost Capacity
Reported concern
The source reports an NVMe device whose nvme list Usage numerator is smaller than the denominator or zero. Replacing/formatting the drive did not make the values equal. Its original output includes:


What the fields mean
Namespace Size (NSZE), Capacity (NCAP) and Utilization (NUSE) are different Identify Namespace fields. NUSE is the number of logical blocks currently allocated; it is not a lifetime write counter or the filesystem’s free-space reading. Writes may allocate blocks and supported deallocation/TRIM may release them. A zero/partial numerator alone therefore does not prove lost namespace capacity.

The source says utilization is the cumulative amount ever written since format and only increases. That conflicts with both its own English excerpt and the official NVM Express explanation. Rewriting an already allocated block does not necessarily increase allocated capacity; deallocation can decrease it. Reporting rules also depend on namespace features/controller implementation, not simply “old protocol wrong, new protocol precise.”

This source image itself illustrates the decrease: a 200 GB example becomes 190 GB after a 10 GB deallocation. Its label NUSE-1 is reproduced as source material; the originating document/version is not identified in the stored article, so it is not asserted as a universal current requirement for every controller.
Check capacity without forcing the display full
Compare the namespace’s actual Identify data and OS block-device size. lsblk describes block devices/partitions, while df -hT reports mounted filesystem sizes/usage; a filesystem can be smaller than its namespace. Neither filesystem free space nor the Usage numerator is a substitute for the namespace capacity fields.
The source proposes writing all sectors with fio to make utilization appear full. That is not needed to validate these fields, can overwrite data and adds writes; do not use a fill test as a cosmetic fix on a live drive. Investigate actual capacity discrepancies, I/O errors or health faults separately. A zero numerator alone does not justify replacement, and a full numerator alone does not prove health.
Official English references: NVM Express namespace field explanation and NVM Command Set specification 1.0d.