Those specs don't include CPU speed, number of cores, network speed. 512MB of RAM may be a bit tight.
You can use the following directives in your torrc to influence the bandwidth usage of your relay:
RelayBandwidthRate - Limits the average incoming bandwidth usage for relayed traffic on this node to the specified number of bytes per second.
RelayBandwidthBurst - Allow up to this much for short periods.
AccountingMax - Never send more than the specified number of bytes in a given accounting period, or receive more than that number in the period.
AccountingStart - Specify how long accounting periods last. If month is given, each accounting period runs from the time HH:MM on the dayth day of one month to the same day and time of the next.
Your provider will count data in and out separately, so you can relay 1 TB/month, which is 364 KB/sec.
If you set this as your
RelayBandwidthRate then you will only get to your 1 TB if your relay is constantly saturated. This is unlikely.
If you set your
RelayBandwidthRate too high, you will hit your
AccountingMax too soon and your relay will hibernate, which you would want to avoid.
I would set
AccountingStart to 0.95 TB / month, so you never get to pay overage charges.
RelayBandwidthRate to about 150% or 200% of the calculated 364 KB, so that would be 600 KB/s or so. If you hit your
AccountingMax, turn it down a bit. If you don't hit it in your 3rd month, turn it up a bit.
RelayBandwidthBurst to 90% of your actual maximum speed.