It could well be due to things like shared libraries. A larger distro will have more options enabled, causing more shared libraries to be linked into the same running processes, and thus more shared libraries to be fully loaded into memory.<p>A smaller distro might even statically compile most things - Alpine does. If you dynamically link shared libraries, the whole library is loaded into memory to serve the process. If you statically link, only the actually used part of the library is included in the binary.<p>Statically linked binaries can&#x27;t share the library in memory between each other like dynamically linked binaries can, but if all your processes are running in separate containers, they won&#x27;t share those libraries anyway (unless they&#x27;re all in a VM and the rarely used &quot;samepage merging&quot; is enabled for the VM).<p>Finally ... simplicity has knock-on effects. Making things simpler and smaller (not easier), and reducing the number of moving parts in the implementation, makes cleaning up more stuff easier.