Captain’s Log 012 - Supplemental
Starting off. Wow! I had no idea my home project would receive so much support and attention. Thank you to everyone for the kind words, sharing thoughts, and questions. I am truly humbled and I will do my best to answer them. This community is awesome!
I have been asked by the community to share some resources usage statistics of the XRPine whilst running a validator. The machine has been running solid over two days without a reboot. I have been impressed to say the least that this little XRPine has some fight in it!
Here is how the validator has done since I started it up. If you go and look at other validators you’ll see each with 20+ thousand validations. I’d say around 9-10,000validations in one day isn’t half bad for the XRPine! The validations are however, mostly disagreements. These are validations that did not pass consensus. Also, you’ll notice Monday the 25th had notably less total validations than the day before. The reason there’s only 20 validations on the first day is because I got it working right before the new day rolled over.
To review, the Pine/Rock64 has:
- An RK3328 Quad-core ARM Cortex A53 64-Bit processor; Datasheet.
- 4GB of LPDDR3 1600MHz memory. (The LP just means low power)
What sort of statistics would be worth gathering for load analysis? The obvious are CPU usage and Memory usage so I’ll share that information.I shall note that I am operating the validator with [node_size] tiny in the configuration file. I left the XRPine running for a day solid in this configuration before pulling stats. There was one day, I thought I’d try and run the XRPine with [node_size] small in the configuration file, but it was too much for it so I went back to tiny. I had a feeling that would happen, but I wanted to try it out anyway.
The following are methods of collecting usage information and screenshots of what i have:
iostat - You can view the manual page for it here. Will give me average cpu utilization and other statistics. I did mine every 5 seconds randomly.
Command: iostat -m -p sdb 5
- User: 61.064 %
- System: 10.648%
- IOWait: 16.908%
- Idle: 11.312%
Conclusions: The user percentage indicates that the rippled service, which is all I have running at the user leve, takes up the very bulk of the entire machine’s computing power. Also worth noting, the IOWait time is not so good, but I think it’s not so bad for what the machine is.
To explain, the machine is taking a lot of time to both call up information and write information to SD card that serves as the hard disk. I am going to have to play around with it and try to improve this number. I’d love to try and make this work with a solid state drive attached!
htop - Nicer version of “top”. Shows me memory usage and overall CPU usage.
Overall memory usage is reported at 87.0%. I am intrigued because some people have reported that their Virtual Machines with 8GB have memory usage all the way at maximum. Overall CPU utilization at this snapshot was ~190% across 4 cores. However, I’ve seen it up to ~340%. The CPU utilization fluctuates back and forth. I’m closely monitoring the memory usage to determine if it increases to the maximum amount over time.
Awesome +5 @xrptipbot I'm interested how it is working out with 4GB of RAM? My stock node has 8GB and uses all that up, so curious how well and long it runs on 4GB
— Matt Hamilton (@HammerToe) June 24, 2018
It works! And there is room for improvement. I am personally surprised the machine isn’t overtaxed and barely running, but these are the numbers I’m getting as of this moment. I recognize I have a lot of work left to do with this project. Some have asked that I share it. For now, since it’s in its infancy I want to continue working on it to improve its performance as best I can before turning it lose. I am happy to take suggestions for things to check from people to help improve it. For the future, as I make adjustments and improve the performance I intend to write about my progress.
I will be submitting a poll to the community to see what the interest is in using the XRPine and determining how best to release it for others to use. Some of us are technical people and want to tinker like myself, while others may just want something to plug into a router and walk away from.
Second star to the right; Warp 8!