Jsa hrdým vlastníkem zařízení známého jako Raspberry Pi (Model A, doručeno v červnu 2012), na kterém mám nainstalované RaspBMC, stává se mi občas, že odmítne přehrát soubor nebo přejít do adresáře a místo toho oznámí, že „Connection timed out“. V případě, že si chci u večeře pustit nové díly svých oblíbených seriálů je to obzvláště otravné.
Je to rozbitý
Soubory, které RaspBMC přehrává, jsou umístěny na stroji plnícím funkci kancelářského PC, hypervizoru a NAS zároveň a z RaspBMC přístupny skrze SMB/CIFS protokol. Z důvodů nezajímavých pro tento článek, jsou jako operační systém na zmíněném stroji totiž použity Windows 7. Empiricky jsem zjistil, že Raspberry můžu restartovat do aleluja, ale dokud nerestartuju Windows, nepodívám se na nic. „Connection timed out“ mi nic moc neřekne, tak jsem zkusil namountovat sdílené adresáře přímo příkazem mount. Ten mě ale počastoval hláškou
mount error(12): Cannot allocate memory
Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)
Hm. No tak díky, to jsem se toho dozvěděl. Nakonec mě ještě napadlo se ve Windows podívat do systémového protokolu událostí, a on tam na mě mává řádek
Server nemůže vyhradit paměť ze systémového nestránkovaného fondu, protože bylo dosaženo nastaveného limitu vyhrazení nestránkovaného fondu.
Zdroj: srv
ID události: 2017
Přeloženo do lidské řeči: „Už několik dní tu rozdávám soubory a přitom nejsem nastavenej jako fileserver. Seru na vás, jdu domů.“
Souborový server
Není tedy nic jednoduššího než nastavit systém tak, aby si myslel, že fileserver je, a paměť pro sdílení neomezoval. Od Windows Vista dále (tj. Samba verze 2.0 a vyšší) je možno nastavení provést změnou v registrech.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters]
"Size"=dword:00000003
Některé zdroje uvádí, že se hodí i zapnout „velkou“ cache session manageru, z důvodu kompatibility se stařičkými Windows XP, které problém s odpojováním také potkává, nicméně pokud na síti takového dinosaura nemáte, následující úpravu můžete s klidem přeskočit.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"LargeSystemCache"=dword:00000001
Pak už jen stačí restartovat systém a po restartu bude Samba sdílet, co jí budou síly stačit.