CPU usage

I've noticed for a long time that Zotero uses ~25% of my CPU. There've been some other discussions of this but I didn't see any similar enough to my experience with any conclusion. I decided to restart in Troubleshooting Mode, and usage dropped to ~1%. I had only a couple plugins; I disabled Zotmoov, removed the dead Zotfile, opened in normal mode, and the CPU usage returned to ~25%. I removed Zotmoov entirely, but I got the same ~25%.

All of these results occurred with Zotero in the background, and with no attachments or snapshots open (plus my attachments are linked files and open in a separate PDF reader). My OS is Windows 11 (no differences in behavior between 23H2 and 24H2). The CPU is an Intel i5-10300, 2.50GHz; there's 16GB RAM.

Any thoughts?
  • So no plugins, no tabs, and Zotero is using 25% CPU at startup when not in Troubleshooting Mode?

    Can you reproduce this with the Zotero 7.1 beta? If so, can you provide a Debug ID for Zotero startup through a few minutes of CPU usage, using the "Restart with Logging Enabled…" option?
  • Correct on all that.

    As you suggested, I installed the beta, with basically the same results (~23%, within the variance before). Here's the debug log (recorded on the beta):

    Debug ID D486967919

    [JavaScript Error: "uncaught exception: undefined"]

    [JavaScript Error: "XML Parsing Error:
    Location: moz-nullprincipal:{4248bd14-54bf-4d60-a336-dcdb6650e88e}
    Line Number 33, Column 37:" {file: "moz-nullprincipal:{4248bd14-54bf-4d60-a336-dcdb6650e88e}" line: 33 column: 37 source: " title="Zotero Reference Test pane">"}]

    [JavaScript Error: "File is not valid XML" {file: "chrome://zotero/content/xpcom/style.js" line: 631}]
    Zotero.Style@chrome://zotero/content/xpcom/style.js:631:11
    Zotero.Styles</_readStylesFromDirectory<@chrome://zotero/content/xpcom/style.js:171:25
    tryCatcher@resource://zotero/bluebird/util.js:16:23
    module.exports/PromiseSpawn.prototype._promiseFulfilled@resource://zotero/bluebird/generators.js:97:49
    module.exports/Promise.prototype._settlePromise@resource://zotero/bluebird/promise.js:609:26
    module.exports/Promise.prototype._settlePromise0@resource://zotero/bluebird/promise.js:649:10
    module.exports/Promise.prototype._settlePromises@resource://zotero/bluebird/promise.js:729:18
    _drainQueueStep@resource://zotero/bluebird/async.js:93:12
    _drainQueue@resource://zotero/bluebird/async.js:86:24
    Async.prototype._drainQueues@resource://zotero/bluebird/async.js:102:16
    Async/this.drainQueues@resource://zotero/bluebird/async.js:15:14


    appName => Zotero, version => 7.1-beta.36+1eacc8bbd (x64), os => Windows 11 26100, locale => en-US, extensions => ZotMoov (1.2.21, extension)
  • While it almost certainly won't affect this, you might as well delete the invalid style you have (routledge.csl).

    I know you tested without it, but can we see another startup Debug ID for a few minutes of this with ZotMoov disabled before the restart, as well as a Debug ID in Troubleshooting Mode where this isn't happening?

    Other than the custom data directory location and the CSL error, there's nothing out of the ordinary in the debug output you submitted.
  • OK, new weirdness: the Routledge style doesn't appear in my styles list, as seen within Zotero. Yet it's in the Zotero's Styles folder. I don't recall ever trying to tweak a style since I don't know the first thing about CSL, so presumably I downloaded it, but then what? I've left the file alone for now in case this oddity tells you something or you want to look at it.


    Debug reports, all run on the beta for about 5 minutes:

    === Normal mode, Zotmoov disabled: ~23% CPU usage ===

    Debug ID D208677643

    [JavaScript Error: "XML Parsing Error:
    Location: moz-nullprincipal:{b7b93c85-9e1c-4fbe-a540-fd5259c5282c}
    Line Number 33, Column 37:" {file: "moz-nullprincipal:{b7b93c85-9e1c-4fbe-a540-fd5259c5282c}" line: 33 column: 37 source: " title="Zotero Reference Test pane">"}]

    [JavaScript Error: "File is not valid XML" {file: "chrome://zotero/content/xpcom/style.js" line: 631}]
    Zotero.Style@chrome://zotero/content/xpcom/style.js:631:11
    Zotero.Styles</_readStylesFromDirectory<@chrome://zotero/content/xpcom/style.js:171:25
    tryCatcher@resource://zotero/bluebird/util.js:16:23
    module.exports/PromiseSpawn.prototype._promiseFulfilled@resource://zotero/bluebird/generators.js:97:49
    module.exports/Promise.prototype._settlePromise@resource://zotero/bluebird/promise.js:609:26
    module.exports/Promise.prototype._settlePromise0@resource://zotero/bluebird/promise.js:649:10
    module.exports/Promise.prototype._settlePromises@resource://zotero/bluebird/promise.js:729:18
    _drainQueueStep@resource://zotero/bluebird/async.js:93:12
    _drainQueue@resource://zotero/bluebird/async.js:86:24
    Async.prototype._drainQueues@resource://zotero/bluebird/async.js:102:16
    Async/this.drainQueues@resource://zotero/bluebird/async.js:15:14

    appName => Zotero, version => 7.1-beta.36+1eacc8bbd (x64), os => Windows 11 26100, locale => en-US, extensions => ZotMoov (1.2.21, extension, disabled)


    === Troubleshooting mode, Zotmoov disabled: < 1% CPU usage ===

    Debug ID D454965794

    [JavaScript Error: "XML Parsing Error:
    Location: moz-nullprincipal:{34af38e8-e03c-47e5-a7cd-789d96eec7ee}
    Line Number 33, Column 37:" {file: "moz-nullprincipal:{34af38e8-e03c-47e5-a7cd-789d96eec7ee}" line: 33 column: 37 source: " title="Zotero Reference Test pane">"}]

    [JavaScript Error: "File is not valid XML" {file: "chrome://zotero/content/xpcom/style.js" line: 631}]
    Zotero.Style@chrome://zotero/content/xpcom/style.js:631:11
    Zotero.Styles</_readStylesFromDirectory<@chrome://zotero/content/xpcom/style.js:171:25
    tryCatcher@resource://zotero/bluebird/util.js:16:23
    module.exports/PromiseSpawn.prototype._promiseFulfilled@resource://zotero/bluebird/generators.js:97:49
    module.exports/Promise.prototype._settlePromise@resource://zotero/bluebird/promise.js:609:26
    module.exports/Promise.prototype._settlePromise0@resource://zotero/bluebird/promise.js:649:10
    module.exports/Promise.prototype._settlePromises@resource://zotero/bluebird/promise.js:729:18
    _drainQueueStep@resource://zotero/bluebird/async.js:93:12
    _drainQueue@resource://zotero/bluebird/async.js:86:24
    Async.prototype._drainQueues@resource://zotero/bluebird/async.js:102:16
    Async/this.drainQueues@resource://zotero/bluebird/async.js:15:14

    appName => Zotero, version => 7.1-beta.36+1eacc8bbd (x64), os => Windows 11 26100, locale => en-US, safeMode => true, extensions => ZotMoov (1.2.21, extension, disabled)
  • edited 14 days ago
    OK, I've tested a whole bunch of possibilities, culminating with booting in Safe Mode (usage < 1%), so it now looks like Zotero is conflicting with something that loads on startup -- though why that would occur when I open Zotero normally but not in Troubleshooting Mode is beyond me.
  • edited 14 days ago
    Since this issue appears to be unique to my computer, my guess is that I'll simply have to live with it -- the devs have bigger things to work on. If they're really curious, I might be willing to go through and disable/reenable startup items to find out what's causing the conflict in Zotero's normal mode, but otherwise you can probably close this thread. Thank you though!
  • edited 13 days ago
    You can just delete the routledge.csl file in 'styles'.

    While we're happy to consult on this, you'd probably need to do further troubleshooting on your own. E.g., you could try in a separate Windows account to see if it happens there too.

    Re: Safe Mode / Troubleshooting Mode, one possibility is that it's related to your (integrated) graphics card. Both Safe Mode and Troubleshooting Mode disable hardware acceleration and other advanced graphics features, so Safe Mode Windows + Normal Mode Zotero and Normal Mode Windows + Troubleshooting Mode Zotero would likely be equivalent. I wouldn't expect hardware acceleration to result in higher reported CPU usage — if anything, it's disabling hardware acceleration that should increase CPU usage — but I guess it's possible. You could see if there's an update for your graphics driver.
  • edited 13 days ago
    Well, and to test hardware acceleration specifically, you can go to the Config Editor in the Advanced pane of the Zotero settings, set layers.acceleration.disabled to true, and restart Zotero. If that doesn't help, you should reset that to false, since it will slow down Zotero somewhat.
  • edited 13 days ago
    I updated the graphics driver, but no luck. It got me thinking about a startup program affecting graphics display, but no joy disabling that either. However, I poked around a little more and discovered that for some reason, Windows set Zotero to use the Nvidia GPU. I forced it to use the integrated GPU, and bang! Once it's settled for a few minutes, Zotero uses <1% CPU! I've tested this through three reboots and closing/restarting Zotero a few times, and it's been consistent. Is there any reason to have Zotero use the Nvidia GPU? Or to test the acceleration issue? If not, the problem seems to be fixed.
  • Great! And no, integrated GPU should be fine.
  • Many thanks, I never would have thought of this!
Sign In or Register to comment.