Actually, that's the 'real hardware' spec sheet and 16 calls
If you look at the cloud hosting guide, it says nothing of the required specs:
https://www.3cx.com/docs/hosted-pbx-google-cloud/
And the provisioner sets up less than the hardware version specs itself.
I believe the 2GB RAM in the real hardware spec sheet is based on a windows machine. debian is going to use about 110MB of ram for it's baseline with a 'full' OS, less if you pare it down.
On these debian 9 GCE instances, with 1.7GB I've not yet seen the system use more than 45% of the ram. I just hopped through a few systems just to see and they are all sitting between 37 and 40% ram usage with 1GB free.
I actually tested on the tiny instance that has .25cpu and .6GB memory and with a minor modification it runs great. the provisioner creates a system without a swap file, so if you add a small .5GB swap file you can run 3CX on a bare minimum. Now, I wouldn't run a production server right at the limit here, I was mostly just testing where those limits were so I could provision out in my comfort zone.
The 3cx 'system' is actually really lean, the largest memory use on a debian system is actually the management console. Out of the ~40% used, 17% is the management console service. 3cx system services just 9%. In my testing of the tiny instance, without a swap file the management console will crash, but the system still handles calls. add the swap file and restart and the management console doesn't crash anymore.
go when it comes down to it, 1.7GB for a <8 channel system is generous.