CloneZilla ile ağdan yedekleme (disk/partition from/to image) yaparken “mount error(12): Cannot allocate memory” hatasını alıyorsanız bu yazıyı okumaya devam edin. Soruna neden olan hatanın nedeni Windows’un samba sunucusu ve LanManager bileşeni. Büyük ihtimal ile aşırı büyük veriler smb protokolü ile aktarılırken Windows bir tür arabellek yetersizliği yaşıyor. (Bu durum archlinux wiki’sinde Bug olarak nitelendirilmiş) Nitekim smb çok eski (NT4 zamanlarından beri kullanılıyor) bir dosya transfer protokolü olmasına rağmen Microsoft bunu RPC yetenekleri ile harmanlayarak Windows 7’de bile hala kullanmaya devam ediyor. “cannot allocate memory” hatasını bir ihtimalle, Windows’ununuzu yeniden başlatarak çözebilir veya aşağıdaki komutu çalıştırarark arabelleklerin temizlenerek servisi yeniden yüklenmesini sağlayabilirsiniz.
net stop srvnet
net start srvnet
net start “Bilgisayar Trayıcısı”
Bu sorun ile tekrar karşılaşır iseniz aşağıdaki ayarlamaların Windows’a uygulanması sorunun tekrarlanmamasını sağlayabilir.
regedit aracını kullanarak aşağıdaki anahtarın değerini 1 olarak ayarlayın:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache
aynı şekilde aşağıdaki anahtarın değerini de 3 olarak ayarlayın:
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size
veya aşağıdaki satırları komut satırına yapıştırabilirsiniz:
1 2 |
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "LargeSystemCache" /t REG_DWORD /d 1 /f reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "Size" /t REG_DWORD /d 3 /f |
Bazı kaynaklarda bu sorunun çözümü ile ilgili olarak IRPStackSize değerinin artırılması öneriliyor. Regedit ile aşağıdaki anahtarı açarak IRPStackSize değerini 32 (onaltılık) olarak girin. Eğer bu anahtar yok ise DWord olarak yeni bir tane oluşturun.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
IRPStackSize değeri olarak örneğin ilk değer 11 ise yeni değeri 14 girerek tekrar deneyin. Sorun devam ediyorsa 3’er artırarak denemeye devam edin. IRPStackSize değeri için Windows 2000’de en fazla 32 (onaltılık) desteklendiği belirtilmiştir.
Kaynaklar:
http://boinst.wordpress.com/2012/03/20/mount-cifs-cannot-allocate-memory-mounting-windows-share/
http://www.howtonetworking.com/winissues/irpstacksize.htm