Quick Answer
Run fsutil quota query C: to check per-user quotas. If a user's quota is full, either increase it with fsutil quota modify or disable quotas on the volume. The error isn't about free disk space — it's about Windows hitting a limit on how much quota a user can consume for socket data structures.
What This Error Actually Means
I've seen WSAEDQUOT (0x00002755) pop up in two real-world scenarios: custom networked apps that hammer sockets without cleanup, or Windows Servers running heavy file-sharing workloads like IIS or SQL Server. The OS tracks disk quota usage per user — even for internal buffers and temporary socket files. When that quota hits 100%, any new socket call returns this error.
Don't waste time checking free disk space. That's a different error. The culprit is almost always a user or process that's consumed their entire allotted quota on the volume where %TEMP% or socket buffers live. On a typical Windows Server, that's usually the C: drive.
Fix Steps
- Identify which volume has quotas.
Open Command Prompt as Admin:fsutil quota query C:Replace C: with your system drive or the drive where socket temp files live. If you seeQuota enabled: Yes, move to step 2. - Check the problematic user's quota.
Same command gives you per-user table. Look for the user account running the failing app (often NETWORK SERVICE, LOCAL SYSTEM, or a specific service account). Note their Limit and Used columns. If Used hits Limit, that's your smoking gun. - Increase the quota for that user.
Sure, you can use the GUI — go to drive properties, Quota tab, Quota Entries — but I prefer the command line for speed:fsutil quota modify C: 1073741824 2147483648. That sets a 1GB warning and 2GB limit. Adjust numbers to your needs (values in bytes).\ - Or disable quotas entirely (if you don't need them).
Open an Admin prompt:fsutil quota disable C:. Reboot the affected service or app. Quotas are often left on by default in Windows Server SKUs and nobody remembers they're there. - Restart the failing service.
After raising quota, restart the service or process throwing the error. If it's a custom app, kill and relaunch it.
Alternative Fixes If the Main One Fails
- Check per-process quotas — some apps like SQL Server have their own internal quota limits. Look in the app's config or registry under
HKLM\SOFTWARE\Microsoft\for a Quota setting. - Clear %TEMP% — socket operations sometimes write to temporary files. Run
del /q /f %TEMP%\*.*(close apps first). That frees up quota used by old temp files. - Run as a different user — if the app runs under a service account with a tiny quota, switch to LOCAL SYSTEM or create a new account with higher quota.
- Check for disk quota per process — use
wmic process where name="yourapp.exe" get ProcessId,QuotaUsage(may require admin rights). Some versions of Windows report quota usage per process.
Prevention Tips
- Monitor quota usage — set up a scheduled task that runs
fsutil quota query C:weekly and logs it to a file. Anything over 80% triggers an alert. - Set realistic limits — for service accounts running web servers or databases, set quota limits 4-8 GB instead of the default 1 GB. The default is too small for any real workload.
- Disable quotas on volumes that don't need them — if you don't actively enforce disk quotas for users, just turn them off. It's one less obscure error to debug.
- Log the exact user hitting the limit — add
%windir%\system32\logfiles\quota\quota.logto your monitoring. The log contains user SID and timestamp. Much faster than guessing.
I've seen this error kill a production IIS server for an hour while three admins checked disk space and rebooted the server twice. The fix was fsutil quota modify. Don't be that team.