First of all, I am only passably capable when it comes to Linux. I know how to use it and can resolve a few moderate issues, if they occur, via Google and a little persistence. I am not, by any means, any kind of expert or reference to turn to if there is real trouble. Therefore, the tweaks presented in the rest of this post are at your own risk. They are all taken from the unRAID forum by members that I trust and consider to be the subject matter experts. Proceed with caution!
As I repost these tweaks, I will do my best to explain what they are doing. The underlying issue here is that in applications or transfers between Windows and unRAID that involve thousands upon thousands of files, there can be network issues that arise due to too many open connections. Once the connection limit is reached, Samba can completely ‘crap out’ and the network connection between client and server can grind to a trickle, or completely disappear altogether. Luckily, the geniuses over at the unRAID forum know a few values that can be modified to help alleviate some of the systems, if not solve the issue altogether.
What you need to do:
- Take a snapshot of your system, create a restore point or whatever else you can do in case of disaster. Editing the registry can lead to bad, bad things, so don’t blame me if you don’t implement a way to roll back.
- On your Vista/Win7 system, open the registry editor and go to HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\
- Find the LargeSystemCache D_WORD value and double-click it to enter edit mode. Set Base to Decimal and change the Value data: to 1. This is essentially setting your system to operate in File Server mode, maximizing data throughput for file sharing over the default of balanced. Server OSes have this setting available via GUI, but client systems do not. (If you are a Media Browser user, this setting alone may actually provide a slight performance boost if you have a large collection. I can’t confirm it, but it makes sense knowing how this operates on server systems…up to you).
- After that is set, go to HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\ and find the Size D_WORD value. Double-click that to enter edit mode and change the Value data: from 1 to 3.
- After accepting these changes, reboot your Windows system so the changes take effect.
- Now, on to the unRAID system. Browser to your unRAID system’s flash share by doing something similar to \\ServerName\flash.
- Backup the contents of your flash, just in case.
- Go into your config folder on the flash share. If you have a file named smb-extra.conf, open it using Notepad or some other raw text editor. If it does not exist, create it.
- If it exists, locate or add the following line: .
- Immediately below it, add: max open files = 16500. This number is derived from the Windows 7 connection limit of 16,384+ open connections.
- Save and close your text editor to accept the changes.
- Establish a Telnet session (command line) with your unRAID server. If you don’t know how to do this, refer to the unRAID forums. I will give you a hint though…use Putty.
- Perform the following command after logging in to read in the new changes from your smb-extra.config file: smbcontrol smbd reload-config.
- You now have a connection cap between unRAID and your client system of 16,500 connections!
This is a little advanced for ordinary users and could possibly be ‘fixed’ in an upcoming unRAID release, although nothing is technically broken. In the meanwhile, if your system(s) is/are working fine, leave it alone. Otherwise, this could get things going if you’ve been beating your head against the wall for some time now.