@ravirahman thanks for the suggestion. It still didn’t work.
Every time I switch tabs, for each file I have open, cursor spawns multiple rg processes. Example of the processes being created (I removed some sensitive information like file paths):
/home/ubuntu/.cursor-server/bin/adb0f9e3.../node_modules/@vscode/ripgrep/bin/rg --files --hidden --case-sensitive --no-require-git -g /<REDACTED_PATH_1>/<REDACTED_FILE_3>.md -g !\*\*/.git -g !\*\*/.svn -g !\*\*/.hg -g !\*\*/.DS_Store -g !\*\*/Thumbs.db -g !/{\*\*/node_modules,\*\*/bower_components,\*\*/\*.code-search,\*\*/.git,\*\*/.svn,\*\*/.hg,\*\*/.DS_Store,\*\*/Thumbs.db,\*\*/\*\*/.claude/settings.local.json,\*\*/\*\*/.claude/settings.local.json,\*\*/\*\*/.claude/settings.local.json,\*\*/\*\*/.claude/settings.local.json,\*\*/\*\*/.claude/settings.local.json} --no-ignore --follow --threads 2 --no-config
/home/ubuntu/.cursor-server/bin/adb0f9e3.../node_modules/@vscode/ripgrep/bin/rg --files --hidden --case-sensitive --no-require-git -g /<REDACTED_PATH_2>/<REDACTED_FILE_4>.py -g !\*\*/.git -g !\*\*/.svn -g !\*\*/.hg -g !\*\*/.DS_Store -g !\*\*/Thumbs.db -g !/{\*\*/node_modules,\*\*/bower_components,\*\*/\*.code-search,\*\*/.git,\*\*/.svn,\*\*/.hg,\*\*/.DS_Store,\*\*/Thumbs.db,\*\*/\*\*/.claude/settings.local.json,\*\*/\*\*/.claude/settings.local.json,\*\*/\*\*/.claude/settings.local.json,\*\*/\*\*/.claude/settings.local.json,\*\*/\*\*/.claude/settings.local.json} --no-ignore --follow --threads 2 --no-config
I believe 2 rg processes are being spawned for each open tab, each one of those processes uses 2 threads. So even with limited rg threads, it’s easy to take down the machine while rg runs.
After looking at the command, I noticed it follows symlinks. I added some folders to files.exclude that contain a lot of symlinks (i.e: bazel-* outputs). And now I don’t experience the issue of having my VM almost grind to a halt. However, I wasn’t experiencing this problem before, and I hadn’t changed any config option. I notice there’s the search.followSymlinks option, is that new or was that recently changed?