title: Why can a 352GB NumPy ndarray be used on an 8GB memory macOS computer?
body: <pre><code>import numpy as np
  
  array = np.zeros((210000, 210000)) # default numpy.float64
  array.nbytes
  </code></pre>
  
  <p>When I run the above code on my 8GB memory MacBook with macOS, no error occurs. But running the same code on a 16GB memory PC with Windows 10, or a 12GB memory Ubuntu laptop, or even on a 128GB memory Linux supercomputer, the Python interpreter will raise a MemoryError. All the test environments have 64-bit Python 3.6 or 3.7 installed.</p>