The Anaconda system requirements page gives information about minimum system OS revision specifications and minimum disk space, but it’s mum on the subject of RAM.
I’ve been using Anaconda 3 for a while on a 16 GB desktop machine. I just installed it on an older 4 GB laptop, and it starts, at least, in its default configuration. I can run Anaconda Navigator and Spyder. Both systems are running Ubuntu 21.10.
But then, naturally, I wanted to start making venv updates. Any command which invokes the system solver hangs. The hard disk light is pinned, and eventually the OS GUI freezes as well. I am stuck with the Anaconda base venv until I can solve this problem.
I decided to watch the Anaconda system solver run on my 16 GB desktop. It’s not crashing, but it is slow, and it is hungry for RAM. The solver sometimes invokes two processes, one named “conda”, and the other a Python process. Both of these processes use gradually increasing, roughly matched amounts of RAM. At the peak, each process occupied 3.4 GB. Other times, I only get the conda process, but if it needs 3.4 GB, it will definitely be fighting with my OS for RAM.
How much RAM is actually needed? Will the solver need the same amount of RAM on all machines, given the same Anaconda version, repositories, and OS?
Not sure what you mean when you say “But then, naturally, I wanted to start making venv updates”, if you are conda then conda environments (created by running conda create ...) largely replaces the need for using venv, especially if you are using conda to install Python packages.
When you say “Any command which invokes the system solver hangs” are you trying to use conda to install in to your base environment or are you just making a new very complicated environment? If you are doing the former try making a new environment from scratch instead by using the conda create command.
I am leaving my base environment as-is. I am only trying to create or modify a separate venv.
The various actions I have tried so far on the laptop are as follows:
I can create a generic venv using conda create. As long as I don’t try to modify that venv, this works.
I added the conda-forge repo. I need it to get a recent version of tensorflow. This also works.
However, attempting to actually install tensorflow on my custom venv causes the system to hang.
On my desktop machine, I created a YML file for the venv that I wanted to port to the laptop. I tried to create a new environment using that venv on the laptop. The system hung. I was hoping to bypass the solver, but it looks like it runs anyway. I guess it is possible to write a YML file by hand with incompatible package specifications, which is why the solver has to run.
On my desktop machine, I have been using mamba for a while, and I really like it. I just read that Anaconda now offers a built-in option to use libmamba as an experimental solver. I attempted to install libmamba on the laptop. This invoked the default solver, which hung.
How much RAM you need for Anaconda depends on what you are doing in your python code, which is why it is hard to give a pre-determined minimum RAM specification.
@sweller Of course that’s true, but there must be a minimum amount of RAM that is needed to run the solver with just the base repository. I wonder whether RAM needs increase as you add repositories. It would not surprise me.
Since I have the venv I want running on my 16 GB desktop PC, and I’ve watched my application code run with the System Monitor open, I can tell you that the most demanding things I do with that venv require less than 1.5 GB. The solver is using more than double that much.