Why the increased system usage?
I have a Raspberry Pi B running Raspbian and ROS Groovy with two nodes. The first node controls the Pi camera and publishes the feed which is subscribed to on a separate PC. The second node publishes data received from a custom daughter board that is subscribed to by the PC, and subscribes to data published by the PC and sends that data to the daughter board. The camera streams fine by itself, and the other node operates great by itself. If both nodes are running, the camera is still fine, but the second node never updates data (the PC and daughter board never receive quality data). I plugged the Pi into a monitor for troubleshooting and noticed the green system usage bar is maxed out when running the second node.
I figured the Pi could not handle this robust of a node and decided to upgrade to the Pi 2.
Here's where things get interesting/confusing.
The Pi 2 is running Ubuntu with ROS Indigo. Both nodes start, but now the camera feed lags by 2-3 seconds. I decided to check the system usage for both Pi's and got the following results:
Pi B: Pi 2:
PiCameraNode: 5.5-5.8% PiCameraNode: 3.3-4.0%
ServerNode: 87.4-88.9% ServerNode: 122.6-124.0%
Why would the Pi 2 which is significantly more powerful need more resources for the same code? Any ideas as to what could cause this, or how to fix the problem? Any help would be appreciated.
As noted by Humpelstilzchen, the %CPU is per core so there is no problem with 125%CPU on the Pi2. I was able to decrease the lag of the camera to about 0.5 seconds by adding "gpu_mem=512" to "/boot/config.txt". I will play around with it some more and see how low I can get the lag.