Hello,
The behavior you’re describing with SmsProxy.exe consuming all available RAM during deep directory scans is a known limitation in certain versions of Microsoft Storage Migration Service (SMS). The proxy agent allocates buffers aggressively when handling large directory trees, and without tuning, it can exhaust host memory and crash.
There is no supported registry key or configuration file to directly “throttle” SMS buffer allocation. The proper way to mitigate this is to adjust the migration job parameters rather than attempting to modify the proxy binary itself. Specifically, you should configure the migration to use smaller batch sizes and limit concurrency. In Windows Admin Center or PowerShell, when creating the migration job, set MaxConcurrentTransfers to a lower value (for example, 2 instead of the default 8) and reduce the FileTransferQueueLength. These parameters are stored in the SMS job configuration and directly control how aggressively the proxy buffers file streams.
If you are running SMS on Windows Server 2019 or early builds of 2022, ensure you have installed the latest cumulative update and the most recent version of Windows Admin Center, because Microsoft has patched several memory leak issues in SmsProxy.exe in later releases. You can verify the proxy agent version under C:\Program Files\Windows Admin Center\StorageMigrationService\Proxy\SmsProxy.exe. If it is outdated, update Windows Admin Center and re-deploy the proxy agent.
As a best practice, avoid scanning the entire volume in one pass. Break the migration into smaller jobs targeting subsets of directories. This reduces the memory footprint per job and prevents the proxy from expanding buffers uncontrollably.
To summarize: do not attempt to manually edit buffer parameters in the registry or configuration files, as this is unsupported and risks corrupting the migration process. Instead, lower concurrency settings in the SMS job, update to the latest proxy agent build, and segment the migration workload. This is the only reliable way to prevent memory exhaustion without risking migration failure.
I hope you've found something useful here. If it helps you get more insight into the issue, it's appreciated to accept the answer. Should you have more questions, feel free to leave a message. Have a nice day!
HP.