I am aware of (I'm avoiding the term understand) the functions of transmitting/validating transactions/blocks but mainly trying to understand the resource utilization of my machine running the full node.
I have bitcoind running on Ubuntu16.04 Server so I have limited visibility into its activity beyond htop, iostat, etc. For the first time ever, I wish I was running Ubuntu Desktop and may do so unless you can recommend some tools for visibility into bitcoind activity.
But back to the subject, I currently only have 1 virtual CPU out of 8 available hyperthreaded cores on an i7 assigned along with 4G of ram, a single consumer grade disk, and a 60mb internet connection. I've confirmed inbound connections with bitcoind-cli getpeerconnectioncount to be 15-20 at any given time.
My disk thrashes like it could burn up at any time. My network connection constantly spikes up to 100%'ish of my inbound bandwidth such that I had to shut down bitcoind to watch a stream of a football game yesterday in decent res.
But my cpu and memory do almost nothing at all. Resource utilization is effectively nil.
So really an academic question as to what this node is doing to result in that footprint.