I am using Raspberry Pi 2 with Xbian installed as my primary always on media-player device. Beside usual Kodi and few other services I also have MySQL, pihole, lighttpd, rtorrent, samba and few other.
Lately I am faced with kernel oops when trying to copy larger files, over 500MB. Rapsberry Pi becomes unresponsive, I can ping it but no longer connect to it.
I’ve spent a lot of time searching for the solution and there is a lot of suggestions but it takes a bit of experimenting to figure out the working one in my case.
First thing is to tweak sysctl.conf and add vm.min_free_kbytes = 32768, and vm.vfs_cache_pressure = 300 and to put in config.txt file smsc95xx.turbo_mode=N. I’ve tried several combinations and came with working one in my case.
Append to end of file /etc/sysctl.conf following lines:
vm.min_free_kbytes = 65536 vm.vfs_cache_pressure = 300
then do:
sysctl -p
There is a lot of threads suggesting to add folowing to config.txt:
smsc95xx.turbo_mode=N
In my case this caused even more instability, so for now I am leaving out of my config.txt since it works better without this parameter.
With this configuration I have tried to copy few larger files (>2GB) over network to Samba share and it worked without kernel spitting out errors.
It seems that if you are using Xbian your settings in /etc/sysctl.conf will get overwritten with files in /etc/sysctl.d/, so you need to change values in /etc/sysctl.d/00-xbian.conf.
Default values in 00-xbian.conf are:
vm.min_free_kbytes = 16384 vm.vfs_cache_pressure = 150
Change them to:
vm.min_free_kbytes = 32768 vm.vfs_cache_pressure = 300
Use “sysctl -p” to reload or simply reboot.
Update
It seems changing these parameters is not definitive solution. Updating to latest kernel 4.4.7+ resolved the issue.
Linux xbian 4.4.7+ #1 SMP PREEMPT Mon Apr 18 14:25:36 CEST 2016 armv7l GNU/Linux