I’ve spent the last week on trying to get YaCy working on my Banana Pi. If you don’t know what YaCy is, please read up on it because projects like YaCy are going to be important in the future!
The problem I was having was that the Banana Pi just kept turning itself off and none of the logs made any sense to me. Then it hit me: it is probably just getting too hot.
I’m running Linux 3.4.104-bananian on armv7l on the original Banana Pi. It’s the smallest and quickest distribution I’ve found.
When researching about tuning YaCys performance most of the articles were dealing with increasing YaCys performance and using every last CPU cycle it can.
So I had to dig a little deeper and unfortunately, the performance settings page isn’t well documented. At least not for an amateur like myself.
The most important settings that worked for me in order to reduce the CPU-load when running the YaCy crawlers are:
PPM – this one is set to 6000 when installing YaCy. I’ve tried setting that to half then to a quarter etc. etc. But really I had to go all the way down to 15 pages per minute. This setting is on the Crawler Monitor page. It will obviously take _a lot_ longer to index a site and I will see in a couple of weeks how well this holds up for the pages I’m indexing.
Adjusting the settings on the “Performance Settings” page (see screenshot above) helped to reduce CPU load. This was the part that was not quite clear and there are so many parameters that I was scared I was going to break something. Alas, the BPi is now running since 2 hours and the temperature hovers around 44º C. This is the command to see the temperature:
cat /sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/temp1_input
The main reason for me to run YaCy at all is, that I wanted it to only index a few webpages that I regularly need to research. This way I can get pretty clean results without having to deal with content farm and SEOed websites. And I can even access it when I’m out of the house. Although the speed obviously isn’t really that great.