as marie mentions, per-job values are recommended, as each source/destination combination can have significantly different resource requirements, as well as even within these combinations the requirements can be heterogenous - one person’s postgres source might need much more memory than another one’s, for example, due to the nature of the data trying to be moved being different.
I actually recommend starting with an instance wide limitation first and selectively increasing on a per connection basis first, then on a per connector basis if you find a common pattern of increasing per connection. The defaults are a little aggressive in terms of what resources they request in order to create a good first experience (increases successful chance of sync).