PREEMPTIVE_OS_GETDISKFREESPACE Wait Type in SQL Server

PREEMPTIVE_OS_GETDISKFREESPACE is recorded when a thread calls the Windows GetDiskFreeSpace function to check a volume’s free space. Callers include the engine (before file growth, during certain file operations) and, prominently, monitoring queries: sys.dm_os_volume_stats, xp_fixeddrives, and the tooling built on them, our disk space scripts included.

Every “how full are the drives” check passes through here.

Is It a Problem?

No at normal levels; the call is fast on healthy volumes. Two readings occasionally matter. Growth in count usually reflects monitoring frequency, a collector polling volume stats every few seconds across many databases multiplies calls; relaxing the interval is free. Growth in average duration is more interesting: slow free-space calls have implicated stressed filesystems, dodgy mount points, and misbehaving filter drivers, all worth knowing about before they hurt something bigger.

Common Causes

  • Monitoring tools and scripts polling sys.dm_os_volume_stats frequently.
  • Engine checks around file growth and creation.
  • Filter drivers or storage issues stretching individual calls.

What To Do

  1. If counts are high, moderate the monitoring cadence; per-minute is plenty for disk space.
  2. If durations grow, test volume responsiveness from the OS and review filter drivers (AV) on the data volumes.
  3. Nothing engine-side needs tuning for this wait.

How To See It

Rank it against everything else with Get-WaitStatistics; its rhythm usually matches your monitoring schedule exactly.


Part of the SQL Server Wait Types Library.
Related deep dive: SOS_SCHEDULER_YIELD Wait Type.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *