Excessive Memory Problem -- seems to be Settings View


#1

I’m using Atom 1.16.0 on MacOS Sierra 10.12.4.

Lately the memory usage for the Atom Helper process has been going crazy – it rises from about 230 MB to about 3 GB and just keeps rising until my machine slows down or crashes. It’s as if there is a leak somewhere.

I’ve gone through the package manager shutting down packages one by one and the culprit seems to be the Settings View package. Without this, the Atom Helper seems to stay stable at about 29.9 MB to 130 MB. As soon as I turn it on it rises again.

Obviously, the Settings View package is quite handy, although I guess I can use the config files. My init file is completely commented out.

Any advice or has anyone else experienced this (I don’t really see the high CPU use, just memory usage)?


#2

Interesting, I don’t think I’ve seen a report like this before - even though disabling Settings View specifically seems to make the problem go away, just to confirm, do you see the same issue in safe mode 1? So go ahead and re-enable Settings View, exit all instances of Atom and run:

atom --safe

It sounds like this started recently for you, do you remember any changes that happened before you started seeing the memory usage spike? E.g. installing a particular package, updating Atom, etc.

Lastly, how many community packages do you have installed? You can check with:

apm list --installed --packages

#3

I’m having the exact same problem, however I don’t have a Settings pane. I launch the app, it begins at 100MB as it should, and in just one minute, it’s consuming 1.4GB, all the while using 100% to 240% of my CPU.

This was after I updated two packages (Atom Icons and Prolog language highlighter), so I’m assuming it’s the former’s fault. I’m going to experiment further.


#4

Thank you very much for the reply. I have been working slowly on finding this memory leak all last week.

I tried Atom in --safe mode and the leak did not appear to be there (overall memory requirement was about 190MB – with a large project loaded up).

Then I went through chopping packages one by one. I thought it was the settings view but alas, even with the settings view off, the memory usages crept up to over 2 GB. It takes a while to creep up --usually a day. This means I can get a system crash around the end of the day or first thing the next morning, when the memory balloons to more than the 50 GB of free disk space that I have left. So it is NOT the settings view. Sorry, my bad.

Here is a list of all my packages:

Built-in Atom Packages (90)
├── atom-dark-syntax@0.28.0
├── atom-dark-ui@0.53.0
├── atom-light-syntax@0.29.0
├── atom-light-ui@0.46.0
├── base16-tomorrow-dark-theme@1.5.0
├── base16-tomorrow-light-theme@1.5.0
├── one-dark-ui@1.9.2
├── one-light-ui@1.9.2
├── one-dark-syntax@1.7.1
├── one-light-syntax@1.7.1
├── solarized-dark-syntax@1.1.2
├── solarized-light-syntax@1.1.2
├── about@1.7.5
├── archive-view@0.63.0
├── autocomplete-atom-api@0.10.0
├── autocomplete-css@0.15.1
├── autocomplete-html@0.7.2
├── autocomplete-plus@2.34.2
├── autocomplete-snippets@1.11.0
├── autoflow@0.29.0
├── autosave@0.24.0
├── background-tips@0.26.1
├── bookmarks@0.44.2
├── bracket-matcher@0.85.3
├── command-palette@0.40.3
├── dalek@0.2.0
├── deprecation-cop@0.56.2
├── dev-live-reload@0.47.0
├── encoding-selector@0.23.2
├── exception-reporting@0.41.2
├── find-and-replace@0.207.3
├── fuzzy-finder@1.5.0
├── git-diff@1.3.3
├── go-to-line@0.32.0
├── grammar-selector@0.49.3
├── image-view@0.61.1
├── incompatible-packages@0.27.2
├── keybinding-resolver@0.36.3
├── line-ending-selector@0.6.2
├── link@0.31.2
├── markdown-preview@0.159.7
├── metrics@1.2.1
├── notifications@0.66.2
├── open-on-github@1.2.1
├── package-generator@1.1.0
├── settings-view@0.248.0
├── snippets@1.1.1
├── spell-check@0.71.3
├── status-bar@1.8.5
├── styleguide@0.49.3
├── symbols-view@0.115.2
├── tabs@0.104.2
├── timecop@0.36.0
├── tree-view@0.215.1
├── update-package-dependencies@0.11.0
├── welcome@0.36.2
├── whitespace@0.36.2
├── wrap-guide@0.40.0
├── language-c@0.57.0
├── language-clojure@0.22.2
├── language-coffee-script@0.48.5
├── language-csharp@0.14.2
├── language-css@0.42.1
├── language-gfm@0.88.1
├── language-git@0.19.0
├── language-go@0.43.1
├── language-html@0.47.2
├── language-hyperlink@0.16.1
├── language-java@0.27.0
├── language-javascript@0.126.1
├── language-json@0.19.0
├── language-less@0.31.0
├── language-make@0.22.3
├── language-mustache@0.13.1
├── language-objective-c@0.15.1
├── language-perl@0.37.0
├── language-php@0.37.5
├── language-property-list@0.9.1
├── language-python@0.45.2
├── language-ruby@0.70.5
├── language-ruby-on-rails@0.25.2
├── language-sass@0.58.0
├── language-shellscript@0.25.0
├── language-source@0.9.0
├── language-sql@0.25.4
├── language-text@0.7.2
├── language-todo@0.29.1
├── language-toml@0.18.1
├── language-xml@0.35.0
└── language-yaml@0.29.0

Community Packages (34) /Users/Charles/.atom/packages
├── atom-jade@0.3.0
├── atom-nodejs-snippets@1.5.0
├── atom-runner@2.7.1
├── atom-typescript@11.0.3
├── autocomplete-angular-material@0.4.0
├── autocomplete-erlang@1.1.2
├── autocomplete-js-import@1.4.0
├── autocomplete-json@5.4.0
├── autocomplete-python@1.8.63
├── busy-signal@1.4.1
├── codecademy-atom-ui@0.2.0
├── git-time-machine@1.5.9
├── go-config@1.2.4
├── intentions@1.1.2
├── js-refactor@0.7.5
├── language-erlang@3.2.0
├── language-latex@1.0.0
├── language-markdown@0.22.0
├── language-mongodb@0.3.1
├── language-pgsql@0.2.3
├── linter@2.1.4
├── linter-jshint@3.1.2
├── linter-ui-default@1.2.4
├── markdown-preview-plus@2.4.9
├── minimap@4.28.2
├── node-debug@0.1.7
├── node-debugger@1.10.1
├── node-snippets@0.0.7
├── package-cop@0.2.10
├── refactor@0.11.4
├── visual-studio-code@0.4.0
├── wombat-dark-syntax@1.2.0
├── xcode-syntax@0.1.0
└── xcode-theme@1.4.0```

I'm going to try a new approach. Disable all the community packages, then add a the packages one by one until the memory balloons again.

Thank you for your help.

#5

OK. I’ve run atom for a day with only two community packages enabled:

  1. Atom TypeScript by TypeStrong
  2. language-markdown by burodepeper
    I switched off metrics from the core packages as well.
    Between yesterday lunch (13.00) and today the Atom Helper process went up to using 1.78 GB of memory.

#6

I don’t know how it got you to just 1.78GB. Mine breaks the 2GB mark in less than an hour!

I’ve just realized what causes the leak and high CPU usage on my end, but not sure exactly why.

If I add a project folder of $HOME (or /Users/your-name/) it freaks out, especially if I close Atom and relaunch it with that project folder open.

Upon removing it, the problem instantly goes away.

So I’m really close to getting what’s going on.