It uses a VM on Macs, it's usually slow and requires too much thinkering to get it to work decently. I gave up development with Linux tools on Macs, very annoying and not worth the hassle. I think it even works better in Windows since WSL.
I'm using runit instead of pm2. Systemd should also do fine. It's over engineered.