If you’d like to stay on your current provider you can limit the advertised bandwidth on your nodes, this will limit the amount of circuits created with your nodes. Less CPU and RAM will be used. I host a node on a free plan that runs on 1 vCPU and 1 GB RAM, it once got overwhelmed due to being a guard, it became unresponsive more often than not and had a pretty big crash once, I then limited it with MaxAdvertisedBandwidth and had no problem since then. My observed BW is around 10 MB/s but limited it to 5. It’s a small relay but it’s better than not offering anything.
According to nyx, MaxAdvertisedBandwidth will do the following:
If set, we will not advertise more than this amount of bandwidth for our BandwidthRate. Server operators who want to reduce the number of clients who ask to build circuits through them (since this is proportional to advertised bandwidth rate) can thus reduce the CPU demands on their server without impacting network performance.
It’s as easy as defining it on the torrc config file. I put it just under AccountingMax and so on, as it is related to limiting the use of the relay.