conda / conda

A system-level, binary package and environment manager running on all major operating systems and platforms.
https://docs.conda.io/projects/conda/
Other
6.33k stars 1.64k forks source link

Huge memory usage (>4GB) with conda 4.6.0b1 #7787

Closed jorisvandenbossche closed 5 years ago

jorisvandenbossche commented 5 years ago

Current Behavior

When doing eg conda update arrow or conda install conda=4.5, I get a huge memory usage. It increases up to 4GB, and then the process gets killed:

screenshot from 2018-09-20 13-35-16

If I remove the conda-forge and conda-canary channels from my .condarc file, I see the following behaviour (also a big memory usage, goes up to 2GB, but then always falls back so it never increases too much):

screenshot from 2018-09-20 13-46-25

If I downgrade to conda 4.5 (and comment out the lines mentioned in https://gitter.im/conda/conda?at=5ba38bfd913ba7799b1a2bf8 to get conda working), then a similar command goes only to around 400-600 MB of memory usage (with conda-forge and conda-canary channels activated).

Environment Information

`conda info`

``` (base) joris@joris-XPS-13-9350:~/scipy$ conda info active environment : base active env location : /home/joris/miniconda3 shell level : 1 user config file : /home/joris/.condarc populated config files : /home/joris/.condarc conda version : 4.6.0b0 conda-build version : 3.10.9 python version : 3.5.5.final.0 base environment : /home/joris/miniconda3 (writable) channel URLs : https://conda.anaconda.org/conda-canary/linux-64 https://conda.anaconda.org/conda-canary/noarch https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/free/linux-64 https://repo.anaconda.com/pkgs/free/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /home/joris/miniconda3/pkgs /home/joris/.conda/pkgs envs directories : /home/joris/miniconda3/envs /home/joris/.conda/envs platform : linux-64 user-agent : conda/4.6.0b0 requests/2.19.1 CPython/3.5.5 Linux/4.4.0-134-generic ubuntu/16.04.5 glibc/2.23 UID:GID : 1000:1000 netrc file : None offline mode : False ```

`conda config --show-sources`

``` ==> /home/joris/.condarc <== ssl_verify: True channels: - conda-canary - conda-forge - defaults add_pip_as_python_dependency: False ```

`conda list --show-channel-urls`

``` # packages in environment at /home/joris/miniconda3: # # Name Version Build Channel affine 2.1.0 py_1 conda-forge alabaster 0.7.11 py_3 conda-forge altair 2.2.2 py_0 conda-forge anaconda-client 1.6.3 py35_0 conda-forge appdirs 1.4.3 py_1 conda-forge args 0.1.0 py35_0 conda-forge arrow-cpp 0.9.0 py35_7 conda-forge asn1crypto 0.22.0 py35_0 conda-forge astroid 1.5.3 pypi_0 pypi astropy 2.0.3 py35_0 conda-forge attrs 17.3.0 py_0 conda-forge automat 0.7.0 py_1 conda-forge babel 2.6.0 py_1 conda-forge backports 1.0 py35_1 conda-forge backports.functools_lru_cache 1.5 py35_0 conda-forge backports.weakref 1.0rc1 py35_0 conda-forge beautifulsoup4 4.6.0 py35_0 conda-forge bitarray 0.8.1 py35_0 conda-forge bkcharts 0.2 py35_0 conda-forge blas 1.1 openblas conda-forge bleach 1.5.0 py35_0 conda-forge blinker 1.4 py35_0 conda-forge bokeh 0.12.9 py35_0 conda-forge boost 1.66.0 py35_1 conda-forge boost-cpp 1.66.0 1 conda-forge boto 2.48.0 py35_0 defaults boto3 1.4.7 py35_0 conda-forge botocore 1.5.92 py35_0 conda-forge bottleneck 1.2.1 np113py35_0 conda-forge branca 0.3.0 py_0 conda-forge bz2file 0.98 py35_0 defaults bzip2 1.0.6 1 conda-forge ca-certificates 2018.8.24 ha4d7672_0 conda-forge cachetools 2.0.1 py_0 conda-forge cairo 1.14.10 0 conda-forge cartopy 0.16.0 py35_0 conda-forge cchardet 1.1.3 pypi_0 pypi certifi 2018.8.24 py35_1 conda-forge cffi 1.7.0 pypi_0 pypi chardet 3.0.4 py35_0 conda-forge click 6.7 pypi_0 pypi click-plugins 1.0.3 py35_0 conda-forge clickhouse-driver 0.0.10 py35_0 conda-forge cligj 0.4.0 py35_0 conda-forge clint 0.5.1 py35_0 conda-forge cloudpickle 0.4.0 py35_0 conda-forge clyent 1.2.2 py35_0 conda-forge colorama 0.3.9 py35_0 conda-forge colored 1.3.5 pypi_0 pypi conda 4.6.0b0 py35_0 conda-canary conda-build 3.10.9 py35_0 conda-forge conda-build-all 1.1.1 py35_1 conda-forge conda-env 2.6.0 h36134e3_1 defaults conda-forge-pinning 2018.07.01 0 conda-forge conda-smithy 3.1.6 py_0 conda-forge conda-verify 2.0.0 py35_0 conda-forge constantly 15.1.0 py_0 conda-forge contextily 0.99.0 dev_0 coverage 4.4.1 py35_0 conda-forge cryptography 1.9 py35_0 conda-forge curl 7.54.1 0 conda-forge cycler 0.10.0 py35_0 conda-forge cytoolz 0.9.0.1 py35_0 conda-forge dask 0.17.4 py_0 conda-forge dask-core 0.17.4 py_0 conda-forge datapackage 0.8.8 pypi_0 pypi dbus 1.10.22 0 conda-forge decorator 4.1.2 py35_0 conda-forge descartes 1.1.0 py35_0 conda-forge distributed 1.21.8 py35_0 conda-forge django 2.0.1 py35_0 conda-forge docopt 0.6.2 py35_0 conda-forge doctr 1.7.3 py35_0 conda-forge docutils 0.14 py35_0 conda-forge enboard 0.1 pypi_0 pypi entrypoints 0.2.2 pypi_0 pypi esda 1.0.1.dev0 pypi_0 pypi et-xmlfile 1.0.1 pypi_0 pypi expat 2.2.5 0 conda-forge ezodf 0.3.2 pypi_0 pypi fakestockdata 0.0.1 pypi_0 pypi fastavro 0.17.10 py35_1 conda-forge fastparquet 0.1.3 py35_0 conda-forge feedgenerator 1.9 py35_0 conda-forge ffmpeg 3.2.4 1 conda-forge filelock 2.0.6 py35_0 conda-forge fiona 1.7.11 py35_3 conda-forge flake8 3.5.0 pypi_0 pypi flit 0.12.3 pypi_0 pypi folium 0.5.0+110.ga37653d.dirty dev_0 fontconfig 2.12.6 0 conda-forge freetype 2.8.1 0 conda-forge freexl 1.0.2 2 conda-forge ftfy 5.0.2 pypi_0 pypi future 0.16.0 pypi_0 pypi futures 3.0.3 py35_0 defaults gdal 2.2.4 py35_0 conda-forge gensim 3.0.1 py35_0 conda-forge geoalchemy2 0.4.0 py35_1 conda-forge geopandas 0.4.0 py_1 conda-forge geoplot 0.1.2 1 conda-forge geopy 1.11.0 py35_0 conda-forge geos 3.6.2 1 conda-forge geotiff 1.4.2 1 conda-forge gettext 0.19.7 1 conda-forge ghp-import 0.5.5 py35_0 conda-forge giflib 5.1.4 0 conda-forge gitdb2 2.0.2 py35_0 conda-forge gitpython 2.1.5 py35_0 conda-forge glib 2.55.0 0 conda-forge glob2 0.6 py_0 conda-forge gmp 6.1.2 0 conda-forge goodtables 1.0.0a8 pypi_0 pypi google-api-core 1.1.1 py_0 conda-forge google-auth 1.4.1 py_0 conda-forge google-cloud-bigquery 1.1.0 py_0 conda-forge google-cloud-core 0.28.1 py_0 conda-forge google-resumable-media 0.3.1 py_0 conda-forge googleapis-common-protos 1.5.3 py35_0 conda-forge graphite2 1.3.11 0 conda-forge graphviz 2.38.0 7 conda-forge gst-plugins-base 1.8.0 0 conda-forge gstreamer 1.8.0 1 conda-forge h5netcdf 0.4.0 py35_0 conda-forge h5py 2.7.1 py35_3 conda-forge harfbuzz 1.7.6 0 conda-forge hdbscan 0.8.12 py35_1 conda-forge hdf4 4.2.12 0 conda-forge hdf5 1.10.1 2 conda-forge heapdict 1.0.0 py35_0 conda-forge html5lib 0.9999999 py35_0 conda-forge hyperlink 17.3.1 py_0 conda-forge ibis-framework 0.13.0+24.gb5d4934 pypi_0 pypi icu 58.1 1 conda-forge idna 2.1 pypi_0 pypi ijson 2.3 pypi_0 pypi imageio 2.2.0 py35_0 conda-forge imagesize 1.0.0 py_1 conda-forge imbalanced-learn 0.3.2 py_0 conda-forge impyla 0.14.0 py35_0 conda-forge incremental 17.5.0 py_0 conda-forge ipykernel 4.6.1 py35_0 conda-forge ipympl 0.1.1 py35_0 conda-forge ipython 6.1.0 py35_0 conda-forge ipython_genutils 0.2.0 py35_0 conda-forge ipywidgets 7.0.0 py35_0 conda-forge ircelsos 0.2.2 pypi_0 pypi isodate 0.5.4 pypi_0 pypi isort 4.2.15 pypi_0 pypi jasper 1.900.1 4 conda-forge jdcal 1.3 pypi_0 pypi jedi 0.11.1 py35_0 defaults jeepney 0.3.1 py_0 conda-forge jinja2 2.9.6 py35_0 conda-forge jmespath 0.9.3 py35_0 conda-forge joblib 0.11 py35_0 conda-forge jpeg 9b 0 conda-forge json-c 0.12.1 0 conda-forge jsonlines 1.1.0 pypi_0 pypi jsonschema 2.6.0 py35_0 conda-forge jsontableschema 0.10.0 pypi_0 pypi jupyter 1.0.0 py35_0 conda-forge jupyter-contrib-nbextensions 0.2.0 pypi_0 pypi jupyter_client 5.2.2 py35_0 conda-forge jupyter_console 5.1.0 py35_0 conda-forge jupyter_contrib_core 0.3.3 py35_0 conda-forge jupyter_core 4.4.0 py_0 conda-forge jupyter_nbextensions_configurator 0.2.7 py35_0 conda-forge jupyterlab 0.33.12 py35_0 conda-forge jupyterlab-table 0.18.0 dev_0 jupyterlab_launcher 0.11.2 py_0 conda-forge kealib 1.4.7 4 conda-forge keras 2.0.6 py35_0 conda-forge keyring 13.2.1 py35_0 conda-forge kiwisolver 1.0.1 py35_1 conda-forge kml2geojson 4.0.0 pypi_0 pypi krb5 1.14.2 0 conda-forge langcodes 1.3.0 pypi_0 pypi lazy-object-proxy 1.3.1 pypi_0 pypi libdap4 3.18.3 2 conda-forge libffi 3.2.1 3 conda-forge libgcc-ng 7.2.0 h7cc24e2_2 defaults libgdal 2.2.4 0 conda-forge libgfortran 3.0.0 1 defaults libgpuarray 0.7.0 0 conda-forge libiconv 1.15 0 conda-forge libkml 1.3.0 6 conda-forge libnetcdf 4.4.1.1 10 conda-forge libpng 1.6.34 0 conda-forge libpq 9.6.3 0 conda-forge libprotobuf 3.5.2 0 conda-forge libpysal 3.0.4 pypi_0 pypi libsodium 1.0.10 0 conda-forge libspatialindex 1.8.5 1 conda-forge libspatialite 4.3.0a 19 conda-forge libssh2 1.8.0 1 conda-forge libstdcxx-ng 7.2.0 hdf63c60_3 conda-forge libtiff 4.0.9 0 conda-forge libtool 2.4.6 0 conda-forge libwebp 0.5.2 7 conda-forge libxcb 1.12 1 conda-forge libxml2 2.9.4 4 conda-forge libxslt 1.1.29 5 conda-forge lifelines 0.9.4 py35_0 conda-forge linear-tsv 1.0.0 pypi_0 pypi llvmlite 0.19.0 py35_0 defaults locket 0.2.0 py35_1 conda-forge lxml 3.8.0 py35_0 conda-forge lzo 2.06 0 defaults mahotas 1.4.3 np113py35_1 conda-forge mapclassify 1.0.1 pypi_0 pypi markdown 2.6.9 py35_0 defaults markupsafe 1.0 py35_0 conda-forge matplotlib 2.2.2 py35_0 conda-forge mccabe 0.6.1 pypi_0 pypi memory-profiler 0.51.0 pypi_0 pypi mercantile 0.10.0 py35_0 conda-forge metpy 0.7.0 py35_0 conda-forge mgwr 1.0.0 pypi_0 pypi mistune 0.7.4 py35_0 conda-forge mizani 0.4.6 py_0 conda-forge mock 2.0.0 py35_0 conda-forge mpi 1.0 openmpi conda-forge mpi4py 3.0.0 py35_openmpi_3 conda-forge mplleaflet 0.0.5 py35_1 conda-forge msgpack-python 0.4.8 py35_0 conda-forge multipledispatch 0.5.0 py35_0 conda-forge munch 2.2.0 py35_0 conda-forge nbconvert 5.2.1 py35_1 conda-forge nbconvert-reportlab 0.1 pypi_0 pypi nbdime 0.1.0 pypi_0 pypi nbformat 4.3.0 py35_0 conda-forge nbtutor 0.1 dev_0 ncurses 5.9 10 conda-forge nettle 3.4 0 conda-forge networkx 1.11 py35_0 conda-forge nibabel 2.2.1 py35_0 conda-forge nilearn 0.4.1 py_0 conda-forge nltk 3.2.5 py_0 conda-forge nose 1.3.7 py35_2 conda-forge notebook 5.4.1 py35_0 conda-forge notedown 1.5.0 pypi_0 pypi numba 0.34.0 np113py35_0 defaults numbannotate 0.0.3 pypi_0 pypi numexpr 2.6.2 np113py35_0 conda-forge numpy 1.13.3 py35_blas_openblas_201 [blas_openblas] conda-forge numpydoc 0.8.0 py_1 conda-forge oauthlib 2.0.6 py_0 conda-forge objgraph 3.4.0 pypi_0 pypi olefile 0.44 py35_0 conda-forge openblas 0.2.20 7 conda-forge opencv 3.4.1 py35_blas_openblas_200 [blas_openblas] conda-forge openjpeg 2.3.0 2 conda-forge openmpi 3.1.0 h26a2512_3 conda-forge openpyxl 2.4.5 pypi_0 pypi openssl 1.0.2p h470a237_0 conda-forge owslib 0.9.0 pypi_0 pypi packaging 16.8 py35_0 conda-forge palettable 3.1.1 py_0 conda-forge pandas 0.19.1 pypi_0 pypi pandas-ip 0.21.0 pypi_0 pypi pandoc 1.19.2 0 conda-forge pandoc-attributes 0.1.7 pypi_0 pypi pandocfilters 1.4.1 py35_0 conda-forge pango 1.40.14 0 conda-forge parquet-cpp 1.4.0 0 conda-forge parso 0.1.1 py35h1b200a3_0 defaults partd 0.3.8 py35_0 conda-forge patchelf 0.9 2 conda-forge patsy 0.4.1 py35_0 conda-forge pbr 3.1.1 py35_0 conda-forge pcre 8.39 0 conda-forge pdfrw 0.2 pypi_0 pypi pelican 3.7.1 py35_0 conda-forge perf 1.4 pypi_0 pypi pexpect 4.2.1 py35_0 conda-forge pickleshare 0.7.4 py35_0 conda-forge pillow 3.4.1 pypi_0 pypi pint 0.8.1 py35_0 conda-forge pip 9.0.1 py35_0 conda-forge pixman 0.34.0 0 conda-forge pkginfo 1.4.1 py35_0 conda-forge plotnine 0.4.0 py_0 conda-forge ply 3.11 py35_0 conda-forge pomegranate 0.8.1 py35h5d3529e_0 defaults poppler 0.61.1 3 conda-forge poppler-data 0.4.7 0 conda-forge proj4 4.9.3 4 conda-forge prometheus_client 0.3.0 py_0 conda-forge prompt_toolkit 1.0.15 py35_0 conda-forge proselint 0.8.0 pypi_0 pypi protobuf 3.5.2 py35_0 conda-forge psutil 5.4.3 pypi_0 pypi psycopg2 2.7.3.1 py35_0 conda-forge ptyprocess 0.5.2 py35_0 conda-forge pudb 2017.1.2 pypi_0 pypi py 1.4.34 py35_0 conda-forge pyarrow 0.9.0 py35_1 conda-forge pyasn1 0.1.9 pypi_0 pypi pyasn1-modules 0.2.1 py_0 conda-forge pycda 0.1.15 pypi_0 pypi pycocotools 2.0 pypi_0 pypi pycodestyle 2.3.1 pypi_0 pypi pycosat 0.6.3 py35_0 conda-forge pycparser 2.14 pypi_0 pypi pycrypto 2.6.1 py35_1 conda-forge pydicom 1.0.2 py_0 conda-forge pyepsg 0.3.2 py35_0 conda-forge pyflakes 1.6.0 pypi_0 pypi pygithub 1.29 py35_0 conda-forge pygments 2.2.0 py35_0 conda-forge pyjwt 1.5.3 py_0 conda-forge pykerberos 1.2.1 py35h14c3975_0 defaults pykml 0.1.0 pypi_0 pypi pylint 1.7.4 pypi_0 pypi pymysql 0.8.0 py_0 conda-forge pyopenms 2.3.0.3 pypi_0 pypi pyopenssl 17.2.0 py35_0 conda-forge pyparsing 2.2.0 py35_0 conda-forge pyproj 1.9.5.1 py35_0 conda-forge pyqt 5.6.0 py35_4 conda-forge pysal 1.14.3 py35_0 conda-forge pyshp 1.2.12 py_0 conda-forge pysocks 1.6.7 py35_0 conda-forge pytables 3.4.2 py35_7 conda-forge pytest 3.2.1 py35_0 conda-forge pytest-cov 2.5.1 py35_0 conda-forge python 3.5.5 0 conda-forge python-crfsuite 0.9.2 py35_0 conda-forge python-dateutil 2.6.1 py35_0 conda-forge python-graphviz 0.5.1 pypi_0 pypi python-hdfs 2.1.0 py35_0 conda-forge python-levenshtein 0.12.0 pypi_0 pypi pytoml 0.1.14 pypi_0 pypi pytz 2017.2 py35_0 conda-forge pywavelets 0.5.2 np113py35_0 conda-forge pyyaml 3.12 py35_1 conda-forge pyzmq 16.0.2 py35_3 conda-forge qt 5.6.2 7 conda-forge qtawesome 0.4.4 pyh8a2030e_1 conda-forge qtconsole 4.3.1 py35_0 conda-forge qtpy 1.4.2 pyh8a2030e_1 conda-forge ramp-workflow 0+unknown pypi_0 pypi rasterio 0.36.0 py35_3 conda-forge rasterstats 0.12.0 pypi_0 pypi readline 7.0 0 conda-forge regex 2017.4.5 pypi_0 pypi reportlab 3.3.0 pypi_0 pypi requests 2.19.1 py35_0 conda-canary requests-download 0.1.2 pypi_0 pypi requests-kerberos 0.12.0 py35_0 defaults requests-oauthlib 0.8.0 py35_1 conda-forge requests-toolbelt 0.8.0 py35_0 conda-forge rfc3986 0.4.1 pypi_0 pypi rise 5.2.0 py35_0 damianavila82 rope 0.10.7 py_1 conda-forge rsa 3.4.2 py35_0 conda-forge rst2ipynb 0.2.3 pypi_0 pypi rtree 0.8.3 py35_0 conda-forge ruamel.yaml 0.15.31 py35_0 conda-forge ruamel_yaml 0.11.14 py35_0 conda-forge s3transfer 0.1.11 py35_0 conda-forge scikit-image 0.13.0 py35_1 conda-forge scikit-learn 0.19.1 py35_blas_openblas_201 [blas_openblas] conda-forge scipy 1.0.1 py35_blas_openblas_200 [blas_openblas] conda-forge seaborn 0.8.0 py35_0 conda-forge secretstorage 3.0.1 py35_0 conda-forge send2trash 1.4.2 py_0 conda-forge service_identity 17.0.0 py_0 conda-forge setuptools 36.2.2 py35_0 conda-forge shapely 1.6.4 py35_0 conda-forge simplegeneric 0.8.1 py35_0 conda-forge simplejson 3.13.2 pypi_0 pypi sip 4.18 py35_1 conda-forge six 1.10.0 py35_1 conda-forge smart_open 1.5.3 py35_0 conda-forge smmap2 2.0.3 py35_0 conda-forge smopy 0.0.6 pypi_0 pypi snakeviz 0.4.1 pypi_0 pypi snowballstemmer 1.2.1 py_1 conda-forge snuggs 1.4.1 py35_0 conda-forge sortedcontainers 1.5.7 py35_0 conda-forge spc 0.4.0 pypi_0 pypi specio 0.0.1.dev0 dev_0 spglm 1.0.2 pypi_0 pypi sphinx 1.7.8 py35_0 conda-forge sphinx-gallery 0.2.0 py35_0 conda-forge sphinxcontrib-jupyter 0.2b0.dev20180907 dev_0 sphinxcontrib-websupport 1.0.1 py35_0 conda-forge spreg 1.0.3 pypi_0 pypi spyder 3.3.1 py35_1 conda-forge spyder-kernels 0.2.4 py_2 conda-forge sqlalchemy 1.1.13 py35_0 conda-forge sqlite 3.20.1 2 conda-forge ssd-keras 0.0.0 dev_0 statsmodels 0.8.0 np113py35_0 conda-forge tabulator 0.14.2 pypi_0 pypi tblib 1.3.2 py35_0 conda-forge tensorboard 0.4.0rc3 py35_0 conda-forge tensorflow 1.4.0 py35_0 conda-forge tensorflow-tensorboard 0.1.8 pypi_0 pypi terminado 0.8.1 py35_0 conda-forge testpath 0.3.1 py35_0 conda-forge theano 0.9.0 py35_0 conda-forge thrift 0.10.0 py35_0 conda-forge thriftpy 0.3.9 py35_0 conda-forge tk 8.6.7 0 conda-forge toolz 0.8.2 py35_0 conda-forge tornado 4.5.1 py35_0 conda-forge traitlets 4.3.2 py35_0 conda-forge turbodbc 2.6.0 py35_0 conda-forge twine 1.8.1 py35_1 conda-forge twisted 18.7.0 py35h14c3975_1 defaults twython 3.6.0 py35_0 conda-forge typed-ast 1.1.0 py35_0 conda-forge typing 3.6.6 py35_0 conda-forge unicodecsv 0.14.1 pypi_0 pypi unidecode 0.04.21 py35_0 conda-forge unixodbc 2.3.4 1 conda-forge urllib3 1.22 py35_0 conda-forge urwid 1.3.1 pypi_0 pypi util-linux 2.21 0 defaults vega 2.0.0 py35_0 conda-forge vega_datasets 0.5.0 py_0 conda-forge versioneer 0.18 pypi_0 pypi vincent 0.4.4 py35_0 conda-forge vprof 0.33 pypi_0 pypi wcwidth 0.1.7 py35_0 conda-forge webencodings 0.5 py35_0 conda-forge werkzeug 0.12.2 py35_0 conda-forge wheel 0.29.0 py35_0 conda-forge widgetsnbextension 3.0.2 py35_0 conda-forge wordfreq 1.5.1 pypi_0 pypi wrapt 1.10.11 pypi_0 pypi x264 20131217 3 conda-forge xerces-c 3.2.0 0 conda-forge xlrd 1.0.0 py35_1 conda-forge xlwt 1.2.0 py35_0 conda-forge xorg-libxau 1.0.8 3 conda-forge xorg-libxdmcp 1.1.2 3 conda-forge xz 5.2.3 0 conda-forge yaml 0.1.6 0 conda-forge yapf 0.20.0 pypi_0 pypi zeromq 4.2.1 1 conda-forge zict 0.1.3 py_0 conda-forge zipfile36 0.1.3 pypi_0 pypi zlib 1.2.11 0 conda-forge zope.interface 4.5.0 py35h470a237_0 conda-forge ```

This is with my base environment, which I know has grown into a mess of a lot of packages. But still, with conda 4.5 this was not a problem, and with 4.6 it is.

kalefranz commented 5 years ago

... and now I see why you wanted to downgrade!

@mbargull Do you think this is related to the solver optimizations?

jorisvandenbossche commented 5 years ago

Indeed :-) If there is any more information or debugging output I can provide, let me know

mbargull commented 5 years ago

@mbargull Do you think this is related to the solver optimizations?

Possible, not very likely, though. I touched very few things regarding how the clauses and stuff are stored, so the probability is fairly low, I think.

If anyone of you wants to reproduce this, fire up a centos docker container and run

pyver=3.5
initial_pkgs=( defaults::some-package conda-forge::some-other-package conda-canary::yet-another-package )
new_pkgs=( awesome-new-package )
tags=( 4.5.11 207ed767e278c61372e02eb6d89663caa064717d 4b8c40a908ce9d536244fe5ca1868c06251802c4 4.6.0b0 )

# init
yum install -q -y bzip2 curl git
git clone https://github.com/conda/conda
cd conda
git checkout 4.6.0b0
. dev/start ./devenv "${pyver}"
git checkout 4.5.11
conda install -qy python="${pyver}" memory_profiler

# create initial env
conda create -nx -qy "${initial_pkgs[@]}"

# preload repodata cache
conda config --set local_repodata_ttl 999999
conda clean -yi
conda search -c conda-canary -c conda-forge -c defaults conda >/dev/null

# run all the things
for tag in "${tags[@]}" ; do
  git checkout "${tag}"
  rm -f ./devenv/pkgs/cache/*.q
  sed -Ei.bak \
    's/( *)(def get_reduced_index\(self, specs\):.*)/\1\2\n\1    specs = sorted(specs, key=str)/' \
    ./conda/resolve.py
  mprof run -o "${tag}.mprof" \
    conda install -nx --dry-run -vv -c conda-canary -c conda-forge -c defaults "${new_pkgs[@]}" \
      2>&1 | grep '^DEBUG'
  git checkout ./conda/resolve.py
done

# print memory stats
python -c "
from sys import argv
for tag in argv[1:]:
  with open('{}.mprof'.format(tag)) as f:
    ms = [tuple(map(float, e.split()[1:3])) for e in f.readlines() if e.startswith('MEM')] or [(0, 0)]
  n = len(ms)
  _, t_offset = ms[0]
  ms = [(m, t - t_offset) for (m, t) in ms]
  b = 20
  mms = [max(ms[int(i / b * n):int((i + 1) / b * n)]) for i in range(b)]
  print(tag)
  def p(a):
    print(' ', ' '.join(map('{:4.0f}'.format, a)))
  p(m_t[1] for m_t in mms)
  p(m_t[0] for m_t in mms)
  p(mms[i][0] - (mms[i-1][0] if i > 0 else 0) for i in range(len(mms)))
" "${tags[@]}"

in there while replacing initial_pkgs and new_pkgs with packages that reproduce this behavior. The script will then run the conda version at 4.5.11, at the commit before the common.logic were merged, after that has been merged, and at 4.6.0b0. At the end it outputs the peak memory used.

If you can replicate the behavior with the script, please post the output here.

jjhelmus commented 5 years ago

@mbargull Thanks for the suggestion on how to profile this, it was very helpful.

I profiled the memory usage of conda upgrade pyarrow and conda install conda=4.5 performed on an environment similar to the one mentioned. I tested conda 4.5.11, 4.6.0b0 and 4.6.0b1. In all cases the peak memory usage was below 500 MB and the the usage of the 4.6.0 beta releases were slightly below that of 4.5.11.

@jorisvandenbossche If you see high memory usage in another environment please let us know. Something less messy would be great but I understand this is not always how conda environments develop.

Memory usage for conda upgrade pyarray, black 4.5.11, blue 4.6.0b0, red 4.6.0b1:

pyarrow_usage

Memory usage for conda install conda=4.5, black 4.5.11, blue 4.6.0b0, red 4.6.0b1:

conda_usage

Dockerfile and additional files to reproduce this can be found at https://gist.github.com/jjhelmus/9cab1524fd4d7894e8c9fc7079e48d48

Environment Information

`conda info`

``` active environment : base active env location : /root/conda/devenv shell level : 1 user config file : /root/.condarc populated config files : /root/.condarc conda version : 4.6.0b1 conda-build version : not installed python version : 3.5.6.final.0 base environment : /root/conda/devenv (writable) channel URLs : https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/free/linux-64 https://repo.anaconda.com/pkgs/free/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch package cache : /root/conda/devenv/pkgs /root/.conda/pkgs envs directories : /root/conda/devenv/envs /root/.conda/envs platform : linux-64 user-agent : conda/4.6.0b1 requests/2.19.1 CPython/3.5.6 Linux/4.13.0-45-generic centos/6.8 glibc/2.12 UID:GID : 0:0 netrc file : None offline mode : False ```

`conda list --nx -show-channel-urls`

``` # packages in environment at /root/conda/devenv/envs/x: # # Name Version Build Channel affine 2.1.0 py_1 conda-forge alabaster 0.7.11 py_3 conda-forge altair 2.2.2 py_0 conda-forge anaconda-client 1.6.3 py35_0 conda-forge appdirs 1.4.3 py_1 conda-forge args 0.1.0 py35_0 conda-forge arrow-cpp 0.9.0 py35_7 conda-forge asn1crypto 0.22.0 py35_0 conda-forge astroid 1.5.3 pypi_0 pypi astropy 2.0.3 py35_0 conda-forge attrs 17.3.0 py_0 conda-forge automat 0.7.0 py_1 conda-forge babel 2.6.0 py_1 conda-forge backports 1.0 py35_1 conda-forge backports.functools_lru_cache 1.5 py35_0 conda-forge backports.weakref 1.0rc1 py35_0 conda-forge beautifulsoup4 4.6.0 py35_0 conda-forge bitarray 0.8.1 py35_0 conda-forge bkcharts 0.2 py35_0 conda-forge blas 1.1 openblas conda-forge bleach 1.5.0 py35_0 conda-forge blinker 1.4 py35_0 conda-forge/label/broken bokeh 0.12.9 py35_0 conda-forge boost 1.66.0 py35_1 conda-forge boost-cpp 1.66.0 1 conda-forge boto 2.48.0 py35_0 defaults boto3 1.4.7 py35_0 conda-forge botocore 1.5.92 py35_0 conda-forge bottleneck 1.2.1 np113py35_0 conda-forge branca 0.3.0 py_0 conda-forge bz2file 0.98 py35_0 defaults bzip2 1.0.6 1 conda-forge ca-certificates 2018.8.24 ha4d7672_0 conda-forge cachetools 2.0.1 py_0 conda-forge cairo 1.14.10 0 conda-forge cartopy 0.16.0 py35_0 conda-forge cchardet 1.1.3 pypi_0 pypi certifi 2018.8.24 py35_1 conda-forge cffi 1.7.0 pypi_0 pypi chardet 3.0.4 py35_0 conda-forge click 6.7 py35h353a69f_0 defaults click-plugins 1.0.3 py35_0 conda-forge clickhouse-driver 0.0.10 py35_0 conda-forge cligj 0.4.0 py35_0 conda-forge clint 0.5.1 py35_0 conda-forge cloudpickle 0.4.0 py35_0 conda-forge clyent 1.2.2 py35_0 conda-forge colorama 0.3.9 py35_0 conda-forge colored 1.3.5 pypi_0 pypi conda 4.6.0b0 py35_0 conda-canary conda-build 3.10.9 py35_0 conda-forge conda-build-all 1.1.1 py35_1 conda-forge conda-env 2.6.0 h36134e3_1 defaults conda-forge-pinning 2018.07.01 0 conda-forge conda-smithy 3.1.6 py_0 conda-forge conda-verify 2.0.0 py35_0 conda-forge constantly 15.1.0 py_0 conda-forge coverage 4.4.1 py35_0 conda-forge cryptography 1.9 py35_0 conda-forge curl 7.54.1 0 conda-forge cycler 0.10.0 py35_0 conda-forge cython 0.28.5 py35hf484d3e_0 defaults cytoolz 0.9.0.1 py35_0 conda-forge dask 0.17.4 py_0 conda-forge dask-core 0.17.4 py_0 conda-forge datapackage 0.8.8 pypi_0 pypi dbus 1.10.22 0 conda-forge decorator 4.1.2 py35_0 conda-forge descartes 1.1.0 py35_0 conda-forge distributed 1.21.8 py35_0 conda-forge django 2.0.1 py35_0 conda-forge docopt 0.6.2 py35_0 conda-forge doctr 1.7.3 py35_0 conda-forge docutils 0.14 py35_0 conda-forge enboard 0.1 pypi_0 pypi entrypoints 0.2.2 pypi_0 pypi enum34 1.1.6 pypi_0 pypi esda 1.0.1.dev0 pypi_0 pypi et-xmlfile 1.0.1 pypi_0 pypi expat 2.2.5 0 conda-forge ezodf 0.3.2 pypi_0 pypi fakestockdata 0.0.1 pypi_0 pypi fastavro 0.17.10 py35_1 conda-forge fastparquet 0.1.3 py35_0 conda-forge feedgenerator 1.9 py35_0 conda-forge ffmpeg 3.2.4 1 conda-forge filelock 2.0.6 py35_0 conda-forge fiona 1.7.11 py35_3 conda-forge flake8 3.5.0 pypi_0 pypi flit 0.12.3 pypi_0 pypi fontconfig 2.12.6 0 conda-forge freetype 2.8.1 0 conda-forge freexl 1.0.2 2 conda-forge ftfy 5.0.2 pypi_0 pypi future 0.16.0 pypi_0 pypi futures 3.0.3 py35_0 defaults gdal 2.2.4 py35_0 conda-forge gensim 3.0.1 py35_0 conda-forge geoalchemy2 0.4.0 py35_1 conda-forge geopandas 0.4.0 py_1 conda-forge geoplot 0.1.2 1 conda-forge geopy 1.11.0 py35_0 conda-forge geos 3.6.2 1 conda-forge geotiff 1.4.2 1 conda-forge gettext 0.19.7 1 conda-forge ghp-import 0.5.5 py35_0 conda-forge giflib 5.1.4 0 conda-forge gitdb2 2.0.2 py35_0 conda-forge gitpython 2.1.5 py35_0 conda-forge glib 2.55.0 0 conda-forge glob2 0.6 py_0 conda-forge gmp 6.1.2 0 conda-forge goodtables 1.0.0a8 pypi_0 pypi google-api-core 1.1.1 py_0 conda-forge google-auth 1.4.1 py_0 conda-forge google-cloud-bigquery 1.1.0 py_0 conda-forge google-cloud-core 0.28.1 py_0 conda-forge google-resumable-media 0.3.1 py_0 conda-forge googleapis-common-protos 1.5.3 py35_0 conda-forge graphite2 1.3.11 0 conda-forge graphviz 2.38.0 7 conda-forge gst-plugins-base 1.8.0 0 conda-forge gstreamer 1.8.0 1 conda-forge h5netcdf 0.4.0 py35_0 conda-forge h5py 2.7.1 py35_3 conda-forge harfbuzz 1.7.6 0 conda-forge hdbscan 0.8.12 py35_1 conda-forge hdf4 4.2.12 0 conda-forge hdf5 1.10.1 2 conda-forge heapdict 1.0.0 py35_0 conda-forge html5lib 0.9999999 py35_0 conda-forge hyperlink 17.3.1 py_0 conda-forge icu 58.1 1 conda-forge idna 2.1 pypi_0 pypi ijson 2.3 pypi_0 pypi imageio 2.2.0 py35_0 conda-forge imagesize 1.0.0 py_1 conda-forge imbalanced-learn 0.3.2 py_0 conda-forge impyla 0.14.0 py35_0 conda-forge incremental 17.5.0 py_0 conda-forge ipykernel 4.6.1 py35_0 conda-forge ipympl 0.1.1 py35_0 conda-forge ipython 6.1.0 py35_0 conda-forge ipython_genutils 0.2.0 py35_0 conda-forge ipywidgets 7.0.0 py35_0 conda-forge ircelsos 0.2.2 pypi_0 pypi isodate 0.5.4 pypi_0 pypi isort 4.2.15 pypi_0 pypi jasper 1.900.1 4 conda-forge jdcal 1.3 pypi_0 pypi jedi 0.11.1 py35_0 defaults jeepney 0.3.1 py_0 conda-forge jinja2 2.9.6 py35_0 conda-forge jmespath 0.9.3 py35_0 conda-forge joblib 0.11 py35_0 conda-forge jpeg 9b 0 conda-forge json-c 0.12.1 0 conda-forge jsonlines 1.1.0 pypi_0 pypi jsonschema 2.6.0 py35_0 conda-forge jsontableschema 0.10.0 pypi_0 pypi jupyter 1.0.0 py35_0 conda-forge jupyter-contrib-nbextensions 0.5.0 pypi_0 pypi jupyter-highlight-selected-word 0.2.0 pypi_0 pypi jupyter-latex-envs 1.4.4 pypi_0 pypi jupyter-nbextensions-configurator 0.4.0 pypi_0 pypi jupyter_client 5.2.2 py35_0 conda-forge jupyter_console 5.1.0 py35_0 conda-forge jupyter_contrib_core 0.3.3 py35_0 conda-forge jupyter_core 4.4.0 py_0 conda-forge jupyterlab 0.33.12 py35_0 conda-forge jupyterlab_launcher 0.11.2 py_0 conda-forge kealib 1.4.7 4 conda-forge keras 2.0.6 py35_0 conda-forge keyring 13.2.1 py35_0 conda-forge kiwisolver 1.0.1 py35_1 conda-forge kml2geojson 4.0.0 pypi_0 pypi krb5 1.14.2 0 conda-forge langcodes 1.3.0 pypi_0 pypi lazy-object-proxy 1.3.1 py35h14c3975_2 defaults libdap4 3.18.3 2 conda-forge libffi 3.2.1 3 conda-forge libgcc-ng 7.2.0 h7cc24e2_2 defaults libgdal 2.2.4 0 conda-forge/label/broken libgfortran 3.0.0 1 defaults libgpuarray 0.7.0 0 conda-forge libiconv 1.15 0 conda-forge/label/broken libkml 1.3.0 6 conda-forge/label/broken libnetcdf 4.4.1.1 10 conda-forge libpng 1.6.34 0 conda-forge libpq 9.6.3 0 conda-forge libprotobuf 3.5.2 0 conda-forge libpysal 3.0.4 pypi_0 pypi libsodium 1.0.10 0 conda-forge libspatialindex 1.8.5 1 conda-forge libspatialite 4.3.0a 19 conda-forge libssh2 1.8.0 1 conda-forge libstdcxx-ng 7.2.0 hdf63c60_3 conda-forge libtiff 4.0.9 0 conda-forge libtool 2.4.6 0 conda-forge libwebp 0.5.2 7 conda-forge libxcb 1.12 1 conda-forge libxml2 2.9.4 4 conda-forge libxslt 1.1.29 5 conda-forge lifelines 0.9.4 py35_0 conda-forge linear-tsv 1.0.0 pypi_0 pypi llvmlite 0.19.0 py35_0 defaults locket 0.2.0 py35_1 conda-forge lxml 3.8.0 py35_0 conda-forge lzo 2.06 0 defaults mahotas 1.4.3 np113py35_1 conda-forge mapclassify 1.0.1 pypi_0 pypi markdown 2.6.9 py35_0 defaults markupsafe 1.0 py35_0 conda-forge matplotlib 2.2.2 py35_0 conda-forge mccabe 0.6.1 py35_1 defaults memory-profiler 0.51.0 pypi_0 pypi mercantile 0.10.0 py35_0 conda-forge metpy 0.7.0 py35_0 conda-forge mgwr 1.0.0 pypi_0 pypi mistune 0.7.4 py35_0 conda-forge mizani 0.4.6 py_0 conda-forge mock 2.0.0 py35_0 conda-forge mpi 1.0 openmpi conda-forge mpi4py 3.0.0 py35_openmpi_3 conda-forge mplleaflet 0.0.5 py35_1 conda-forge msgpack-python 0.4.8 py35_0 conda-forge multipledispatch 0.5.0 py35_0 conda-forge munch 2.2.0 py35_0 conda-forge nbconvert 5.2.1 py35_1 conda-forge nbconvert-reportlab 0.1 pypi_0 pypi nbdime 0.1.0 pypi_0 pypi nbformat 4.3.0 py35_0 conda-forge ncurses 5.9 10 conda-forge nettle 3.4 0 conda-forge networkx 1.11 py35_0 conda-forge nibabel 2.2.1 py35_0 conda-forge nilearn 0.4.1 py_0 conda-forge nltk 3.2.5 py_0 conda-forge nose 1.3.7 py35_2 conda-forge notebook 5.4.1 py35_0 conda-forge notedown 1.5.0 pypi_0 pypi numba 0.34.0 np113py35_0 defaults numbannotate 0.0.3 pypi_0 pypi numexpr 2.6.2 np113py35_0 conda-forge numpy 1.13.3 py35_blas_openblas_201 [blas_openblas] conda-forge numpydoc 0.8.0 py_1 conda-forge oauthlib 2.0.6 py_0 conda-forge objgraph 3.4.0 pypi_0 pypi olefile 0.44 py35_0 conda-forge openblas 0.2.20 7 conda-forge openjpeg 2.3.0 2 conda-forge openmpi 3.1.0 h26a2512_3 conda-forge openpyxl 2.4.5 pypi_0 pypi openssl 1.0.2p h470a237_0 conda-forge owslib 0.9.0 pypi_0 pypi packaging 16.8 py35_0 conda-forge palettable 3.1.1 py_0 conda-forge pandas 0.19.1 pypi_0 pypi pandoc 1.19.2 0 conda-forge pandoc-attributes 0.1.7 pypi_0 pypi pandocfilters 1.4.1 py35_0 conda-forge pango 1.40.14 0 conda-forge parquet-cpp 1.4.0 0 conda-forge parso 0.1.1 py35h1b200a3_0 defaults partd 0.3.8 py35_0 conda-forge patchelf 0.9 2 conda-forge patsy 0.4.1 py35_0 conda-forge pbr 3.1.1 py35_0 conda-forge pcre 8.39 0 conda-forge pdfrw 0.2 pypi_0 pypi pelican 3.7.1 py35_0 conda-forge perf 1.4 pypi_0 pypi pexpect 4.2.1 py35_0 conda-forge pickleshare 0.7.4 py35_0 conda-forge pillow 3.4.1 pypi_0 pypi pint 0.8.1 py35_0 conda-forge pip 9.0.1 py35_0 conda-forge/label/broken pixman 0.34.0 0 conda-forge pkginfo 1.4.1 py35_0 conda-forge plotnine 0.4.0 py_0 conda-forge ply 3.11 py35_0 conda-forge pomegranate 0.8.1 py35h5d3529e_0 defaults poppler 0.61.1 3 conda-forge poppler-data 0.4.7 0 conda-forge proj4 4.9.3 4 conda-forge prometheus_client 0.3.0 py_0 conda-forge prompt_toolkit 1.0.15 py35_0 conda-forge proselint 0.8.0 pypi_0 pypi protobuf 3.5.2 py35_0 conda-forge psutil 5.4.6 py35h14c3975_0 defaults psycopg2 2.7.3.1 py35_0 conda-forge ptyprocess 0.5.2 py35_0 conda-forge pudb 2017.1.2 pypi_0 pypi py 1.4.34 py35_0 conda-forge pyarrow 0.9.0 py35_1 conda-forge pyasn1 0.1.9 pypi_0 pypi pyasn1-modules 0.2.1 py_0 conda-forge pycda 0.1.15 pypi_0 pypi pycodestyle 2.3.1 pypi_0 pypi pycosat 0.6.3 py35_0 conda-forge pycparser 2.14 pypi_0 pypi pycrypto 2.6.1 py35_1 conda-forge pydicom 1.0.2 py_0 conda-forge pyepsg 0.3.2 py35_0 conda-forge/label/broken pyflakes 1.6.0 pypi_0 pypi pygithub 1.29 py35_0 conda-forge pygments 2.2.0 py35_0 conda-forge pyjwt 1.5.3 py_0 conda-forge pykerberos 1.2.1 py35h14c3975_0 defaults pykml 0.1.0 pypi_0 pypi pylint 1.7.4 pypi_0 pypi pymysql 0.8.0 py_0 conda-forge pyopenms 2.3.0.3 pypi_0 pypi pyopenssl 17.2.0 py35_0 conda-forge pyparsing 2.2.0 py35_0 conda-forge pyproj 1.9.5.1 py35_0 conda-forge/label/broken pyqt 5.6.0 py35_4 conda-forge pysal 1.14.3 py35_0 conda-forge pyshp 1.2.12 py_0 conda-forge pysocks 1.6.7 py35_0 conda-forge pytables 3.4.2 py35_7 conda-forge pytest 3.2.1 py35_0 conda-forge pytest-cov 2.5.1 py35_0 conda-forge python 3.5.5 0 conda-forge python-crfsuite 0.9.2 py35_0 conda-forge python-dateutil 2.6.1 py35_0 conda-forge python-graphviz 0.10.1 pypi_0 pypi python-hdfs 2.1.0 py35_0 conda-forge pytoml 0.1.14 pypi_0 pypi pytz 2017.2 py35_0 conda-forge pywavelets 0.5.2 np113py35_0 conda-forge pyyaml 3.12 py35_1 conda-forge pyzmq 16.0.2 py35_3 conda-forge qt 5.6.2 7 conda-forge qtawesome 0.4.4 pyh8a2030e_1 conda-forge qtconsole 4.3.1 py35_0 conda-forge qtpy 1.4.2 pyh8a2030e_1 conda-forge rasterio 0.36.0 py35_3 conda-forge rasterstats 0.12.0 pypi_0 pypi readline 7.0 0 conda-forge reportlab 3.5.9 pypi_0 pypi requests 2.19.1 py35_0 conda-canary requests-download 0.1.2 pypi_0 pypi requests-kerberos 0.12.0 py35_0 defaults requests-oauthlib 0.8.0 py35_1 conda-forge requests-toolbelt 0.8.0 py35_0 conda-forge rfc3986 0.4.1 pypi_0 pypi rise 5.2.0 py35_0 damianavila82 rope 0.10.7 py_1 conda-forge rsa 3.4.2 py35_0 conda-forge rst2ipynb 0.2.3 pypi_0 pypi rtree 0.8.3 py35_0 conda-forge ruamel.yaml 0.15.31 py35_0 conda-forge ruamel_yaml 0.11.14 py35_0 conda-forge s3transfer 0.1.11 py35_0 conda-forge scikit-image 0.13.0 py35_1 conda-forge scikit-learn 0.19.2 py35_blas_openblasha84fab4_201 [blas_openblas] conda-forge scipy 1.0.0 py35_blas_openblas_200 [blas_openblas] conda-forge/label/broken seaborn 0.8.0 py35_0 conda-forge secretstorage 3.0.1 py35_0 conda-forge send2trash 1.4.2 py_0 conda-forge service_identity 17.0.0 py_0 conda-forge setuptools 36.2.2 py35_0 conda-forge shapely 1.6.4 py35_0 conda-forge simplegeneric 0.8.1 py35_0 conda-forge simplejson 3.13.2 pypi_0 pypi sip 4.18 py35_1 conda-forge six 1.10.0 py35_1 conda-forge smart_open 1.5.3 py35_0 conda-forge smmap2 2.0.3 py35_0 conda-forge smopy 0.0.6 pypi_0 pypi snakeviz 0.4.1 pypi_0 pypi snowballstemmer 1.2.1 py_1 conda-forge snuggs 1.4.1 py35_0 conda-forge sortedcontainers 1.5.7 py35_0 conda-forge spglm 1.0.2 pypi_0 pypi sphinx 1.7.8 py35_0 conda-forge sphinx-gallery 0.2.0 py35_0 conda-forge sphinxcontrib-websupport 1.0.1 py35_0 conda-forge spreg 1.0.3 pypi_0 pypi spyder 3.3.1 py35_1 conda-forge spyder-kernels 0.2.4 py_2 conda-forge sqlalchemy 1.1.13 py35_0 conda-forge sqlite 3.20.1 2 conda-forge statsmodels 0.8.0 py35_0 conda-forge tabulator 0.14.2 pypi_0 pypi tblib 1.3.2 py35_0 conda-forge tensorboard 0.4.0rc3 py35_0 conda-forge tensorflow 1.4.0 py35_0 conda-forge terminado 0.8.1 py35_0 conda-forge testpath 0.3.1 py35_0 conda-forge theano 0.9.0 py35_0 conda-forge/label/broken thrift 0.10.0 py35_0 conda-forge thriftpy 0.3.9 py35_0 conda-forge tk 8.6.7 0 conda-forge toolz 0.8.2 py35_0 conda-forge tornado 4.5.1 py35_0 conda-forge traitlets 4.3.2 py35_0 conda-forge turbodbc 2.6.0 py35_0 conda-forge twine 1.8.1 py35_1 conda-forge twisted 18.7.0 py35h14c3975_1 defaults twython 3.6.0 py35_0 conda-forge typed-ast 1.1.0 py35_0 conda-forge typing 3.6.6 py35_0 conda-forge unicodecsv 0.14.1 pypi_0 pypi unidecode 0.04.21 py35_0 conda-forge unixodbc 2.3.4 1 conda-forge urllib3 1.22 py35_0 conda-forge urwid 1.3.1 pypi_0 pypi util-linux 2.21 0 defaults vega 2.0.0 py35_0 conda-forge/label/broken vega_datasets 0.5.0 py_0 conda-forge versioneer 0.18 pypi_0 pypi vincent 0.4.4 py35_0 conda-forge vprof 0.33 pypi_0 pypi wcwidth 0.1.7 py35_0 conda-forge webencodings 0.5 py35_0 conda-forge werkzeug 0.12.2 py35_0 conda-forge wheel 0.29.0 py35_0 conda-forge widgetsnbextension 3.0.2 py35_0 conda-forge wrapt 1.10.11 py35h14c3975_2 defaults x264 20131217 3 conda-forge xerces-c 3.2.0 0 conda-forge xlrd 1.0.0 py35_1 conda-forge xlwt 1.2.0 py35_0 conda-forge xorg-libxau 1.0.8 3 conda-forge xorg-libxdmcp 1.1.2 3 conda-forge xz 5.2.3 0 conda-forge yaml 0.1.6 0 conda-forge yapf 0.20.0 pypi_0 pypi zeromq 4.2.1 1 conda-forge zict 0.1.3 py_0 conda-forge zipfile36 0.1.3 pypi_0 pypi zlib 1.2.11 0 conda-forge zope.interface 4.5.0 py35h470a237_0 conda-forge ```

jorisvandenbossche commented 5 years ago

@jjhelmus thanks a lot for looking into this

Just a question: it seems you don't have conda-forge in your channel list? Because that is what for me triggers the huge memory usage. If I remove conda-forge from my condarc, then it goes better (I still see bigger memory usage with conda 4.6 compared to conda 4.5, but at least it doesn't crash my laptop)

msarahan commented 5 years ago

Might be due to the bigger index. Conda-forge is a much larger channel. Definitely worth looking into.

jjhelmus commented 5 years ago

The conda-forge channel was included in the channel list via the command line script:

mprof run --include-children -o "${tag}_pyarrow.mprof" \
        conda update -nx --dry-run -vv -c conda-canary -c conda-forge -c defaults pyarrow

Without the conda-forge channel memory usage is decreased as expected.

github-actions[bot] commented 3 years ago

Hi there, thank you for your contribution to Conda!

This issue has been automatically locked since it has not had recent activity after it was closed.

Please open a new issue if needed.