Very high cpu and ram usage on fresh docker ubuntu instance

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

very high cpu and ram usage even after a fresh install for the cursor editor. i am on cursor version 2.2.14. i have tried downgrading to 2.0 but to no avail. there is also no other tasks running in the background – just cursor processes

Steps to Reproduce

open cursor ide on a fresh ubuntu docker instance and then run htop in terminal

Expected Behavior

low cpu and memory usage

Screenshots / Screen Recordings

Operating System

Linux

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.2.14
VSCode Version: 1.105.1
Commit: 1685afce45886aa5579025ac7e077fc3d4369c50
Date: 2025-12-11T01:12:35.790Z (3 hrs ago)
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin x64 24.6.0

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

additional info from ptyhost.log

2025-12-11 02:47:15.908 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","ln -f -s \"/tmp/ssh-eGiCXX2Q93/agent.893\" \"/tmp/vscode-ssh-auth-sock-823186128\"\nexit 0"]
2025-12-11 02:47:15.916 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata:true' -O - http://169.254.169.254/metadata/instance?api-version=2019-03-11\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s --header='Metadata:true' http://169.254.169.254/metadata/instance?api-version=2019-03-11\n\tfi\nfi\nexit 0"]
2025-12-11 02:47:15.919 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q  -O - http://169.254.169.254/latest/meta-data/instance-id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s  http://169.254.169.254/latest/meta-data/instance-id\n\tfi\nfi\nexit 0"]
2025-12-11 02:47:15.922 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q  -O - http://169.254.169.254/metadata/v1/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s  http://169.254.169.254/metadata/v1/id\n\tfi\nfi\nexit 0"]
2025-12-11 02:47:15.928 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata-Flavor:Google' -O - http://metadata.google.internal/computeMetadata/v1/instance/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s --header='Metadata-Flavor:Google' http://metadata.google.internal/computeMetadata/v1/instance/id\n\tfi\nfi\nexit 0"]
2025-12-11 04:34:45.745 [info] Expanding terminal instance, old id 1ad799c39f930a30deec6756639c7c00-6 -> new id undefined
2025-12-11 04:34:45.745 [warning] Couldn't get layout info, a terminal was probably disconnected Could not find pty 6 on pty host
2025-12-11 04:34:46.592 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","ln -f -s \"/tmp/ssh-DYBjFyrDCj/agent.10487\" \"/tmp/vscode-ssh-auth-sock-729928588\"\nexit 0"]
2025-12-11 04:34:46.597 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q  -O - http://169.254.169.254/latest/meta-data/instance-id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s  http://169.254.169.254/latest/meta-data/instance-id\n\tfi\nfi\nexit 0"]
2025-12-11 04:34:46.600 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata:true' -O - http://169.254.169.254/metadata/instance?api-version=2019-03-11\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s --header='Metadata:true' http://169.254.169.254/metadata/instance?api-version=2019-03-11\n\tfi\nfi\nexit 0"]
2025-12-11 04:34:46.602 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q  -O - http://169.254.169.254/metadata/v1/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s  http://169.254.169.254/metadata/v1/id\n\tfi\nfi\nexit 0"]
2025-12-11 04:34:46.610 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata-Flavor:Google' -O - http://metadata.google.internal/computeMetadata/v1/instance/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s --header='Metadata-Flavor:Google' http://metadata.google.internal/computeMetadata/v1/instance/id\n\tfi\nfi\nexit 0"]
2025-12-11 04:34:47.346 [error] [RPC Response] PtyService#resize Could not find pty 11 on pty host
2025-12-11 05:53:07.923 [info] Expanding terminal instance, old id 1ad799c39f930a30deec6756639c7c00-12 -> new id undefined
2025-12-11 05:53:08.029 [warning] Couldn't get layout info, a terminal was probably disconnected Could not find pty 12 on pty host
2025-12-11 05:53:08.587 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","ln -f -s \"/tmp/ssh-DYBjFyrDCj/agent.10487\" \"/tmp/vscode-ssh-auth-sock-286423099\"\nexit 0"]
2025-12-11 05:53:08.591 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata:true' -O - http://169.254.169.254/metadata/instance?api-version=2019-03-11\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s --header='Metadata:true' http://169.254.169.254/metadata/instance?api-version=2019-03-11\n\tfi\nfi\nexit 0"]
2025-12-11 05:53:08.593 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q  -O - http://169.254.169.254/latest/meta-data/instance-id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s  http://169.254.169.254/latest/meta-data/instance-id\n\tfi\nfi\nexit 0"]
2025-12-11 05:53:08.595 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q  -O - http://169.254.169.254/metadata/v1/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s  http://169.254.169.254/metadata/v1/id\n\tfi\nfi\nexit 0"]
2025-12-11 05:53:08.598 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata-Flavor:Google' -O - http://metadata.google.internal/computeMetadata/v1/instance/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s --header='Metadata-Flavor:Google' http://metadata.google.internal/computeMetadata/v1/instance/id\n\tfi\nfi\nexit 0"]
2025-12-11 05:53:09.358 [error] [RPC Response] PtyService#resize Could not find pty 17 on pty host
2025-12-11 05:54:27.191 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","ln -f -s \"/tmp/ssh-DYBjFyrDCj/agent.10487\" \"/tmp/vscode-ssh-auth-sock-471362883\"\nexit 0"]
2025-12-11 05:54:27.194 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata:true' -O - http://169.254.169.254/metadata/instance?api-version=2019-03-11\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s --header='Metadata:true' http://169.254.169.254/metadata/instance?api-version=2019-03-11\n\tfi\nfi\nexit 0"]
2025-12-11 05:54:27.199 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q  -O - http://169.254.169.254/latest/meta-data/instance-id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s  http://169.254.169.254/latest/meta-data/instance-id\n\tfi\nfi\nexit 0"]
2025-12-11 05:54:27.203 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q  -O - http://169.254.169.254/metadata/v1/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s  http://169.254.169.254/metadata/v1/id\n\tfi\nfi\nexit 0"]
2025-12-11 05:54:27.211 [warning] Shell integration cannot be enabled for executable "/bin/sh" and args ["-c","wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --no-config --connect-timeout=7 --tries=1 --dns-timeout=7 -q --header='Metadata-Flavor:Google' -O - http://metadata.google.internal/computeMetadata/v1/instance/id\nelse\n\tcurl --version > /dev/null\n\tif [ $? -eq 0 ]\n\tthen\n\t\tcurl --disable --connect-timeout 7 -s --header='Metadata-Flavor:Google' http://metadata.google.internal/computeMetadata/v1/instance/id\n\tfi\nfi\nexit 0"]



more errors from remoteagent.log

2025-12-11 02:47:13.473 [info] 




2025-12-11 02:47:13.491 [info] [CursorProclistService] Native module loaded successfully
2025-12-11 02:47:13.493 [info] Extension host agent started.
2025-12-11 02:47:13.524 [info] Started initializing default profile extensions in extensions installation folder. file:///home/cursor/.cursor-server/extensions
2025-12-11 02:47:13.586 [info] [<unknown>][be16c4c1][ExtensionHostConnection] New connection established.
2025-12-11 02:47:13.601 [info] [<unknown>][b7c1c0b2][ManagementConnection] New connection established.
2025-12-11 02:47:13.699 [info] [<unknown>][be16c4c1][ExtensionHostConnection] <1016> Launched Extension Host Process.
2025-12-11 02:47:13.759 [info] Getting extensions control
2025-12-11 02:47:13.769 [info] [CursorProclistService] Config enabled feature (subsample every 10s)
2025-12-11 02:47:13.881 [info] Completed initializing default profile extensions in extensions installation folder. file:///home/cursor/.cursor-server/extensions
2025-12-11 02:52:13.494 [info] New EH opened, aborting shutdown
2025-12-11 02:52:13.896 [info] [CursorProclistService] Sample 0 created: 5 processes, 32 subsamples
2025-12-11 02:57:13.901 [info] [CursorProclistService] Sample 1 created: 39 processes, 31 subsamples
2025-12-11 03:02:29.436 [info] [CursorProclistService] Sample 2 created: 7 processes, 32 subsamples
2025-12-11 03:07:29.437 [info] [CursorProclistService] Sample 3 created: 6 processes, 31 subsamples
2025-12-11 03:12:29.443 [info] [CursorProclistService] Sample 4 created: 6 processes, 31 subsamples
2025-12-11 03:17:29.444 [info] [CursorProclistService] Sample 5 created: 6 processes, 31 subsamples
2025-12-11 03:23:29.449 [info] [CursorProclistService] Sample 6 created: 6 processes, 37 subsamples
2025-12-11 03:28:29.457 [info] [CursorProclistService] Sample 7 created: 6 processes, 31 subsamples
2025-12-11 03:33:29.459 [info] [CursorProclistService] Sample 8 created: 6 processes, 31 subsamples
2025-12-11 03:38:29.453 [info] [CursorProclistService] Sample 9 created: 6 processes, 31 subsamples
2025-12-11 03:43:29.457 [info] [CursorProclistService] Sample 10 created: 6 processes, 31 subsamples
2025-12-11 03:48:29.458 [info] [CursorProclistService] Sample 11 created: 6 processes, 31 subsamples
2025-12-11 03:53:29.461 [info] [CursorProclistService] Sample 12 created: 6 processes, 31 subsamples
2025-12-11 03:58:29.781 [info] [CursorProclistService] Sample 13 created: 6 processes, 31 subsamples
2025-12-11 04:03:29.473 [info] [CursorProclistService] Sample 14 created: 6 processes, 31 subsamples
2025-12-11 04:08:29.951 [info] [CursorProclistService] Sample 15 created: 6 processes, 31 subsamples
2025-12-11 04:13:29.469 [info] [CursorProclistService] Sample 16 created: 6 processes, 31 subsamples
2025-12-11 04:17:13.939 [info] [CursorProclistService] Sample 17 created: 7 processes, 24 subsamples
2025-12-11 04:22:13.940 [info] [CursorProclistService] Sample 18 created: 7 processes, 31 subsamples
2025-12-11 04:27:13.945 [info] [CursorProclistService] Sample 19 created: 7 processes, 31 subsamples
2025-12-11 04:33:15.749 [info] [CursorProclistService] Sample 20 created: 7 processes, 37 subsamples
2025-12-11 04:34:25.180 [info] [<unknown>][b7c1c0b2][ManagementConnection] The client has disconnected gracefully, so the connection will be disposed.
2025-12-11 04:34:25.307 [info] [<unknown>][be16c4c1][ExtensionHostConnection] <1016> Extension Host Process exited with code: 0, signal: null.
2025-12-11 04:34:25.308 [info] Last EH closed, waiting before shutting down
2025-12-11 04:34:45.654 [info] [<unknown>][f8f1bbc7][ManagementConnection] New connection established.
2025-12-11 04:34:45.669 [info] [<unknown>][8bafc444][ExtensionHostConnection] New connection established.
2025-12-11 04:34:45.675 [info] [<unknown>][8bafc444][ExtensionHostConnection] <10550> Launched Extension Host Process.
2025-12-11 04:34:45.735 [info] Getting extensions control
2025-12-11 04:34:45.747 [info] [CursorProclistService] Config enabled feature (subsample every 10s)
2025-12-11 04:34:48.349 [error] CodeExpectedError: Could not find pty 11 on pty host
    at M._throwIfNoPty (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:47:7334)
    at M.resize (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:47:3319)
    at O.r.<computed> (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:46:3386)
    at Object.call (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:28:4951)
    at gc.onPromise (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:91785)
    at gc.onRawMessage (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:91200)
    at pr.value (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:90483)
    at b._deliver (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:2937)
    at b.fire (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:3257)
    at process.w (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:24:24774)
    at process.emit (node:events:518:28)
    at emit (node:internal/child_process:950:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)
2025-12-11 04:39:25.309 [info] New EH opened, aborting shutdown
2025-12-11 04:39:25.311 [error] Error: Unexpected SIGPIPE
    at process.<anonymous> (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/server-main.js:179:1092)
    at process.emit (node:events:530:35)
2025-12-11 04:40:29.494 [info] [CursorProclistService] Sample 21 created: 107 processes, 36 subsamples
2025-12-11 04:45:29.505 [info] [CursorProclistService] Sample 22 created: 95 processes, 31 subsamples
2025-12-11 04:50:29.508 [info] [CursorProclistService] Sample 23 created: 95 processes, 31 subsamples
2025-12-11 04:55:30.281 [info] [CursorProclistService] Sample 24 created: 98 processes, 31 subsamples
2025-12-11 05:00:29.512 [info] [CursorProclistService] Sample 25 created: 95 processes, 31 subsamples
2025-12-11 05:05:29.522 [info] [CursorProclistService] Sample 26 created: 96 processes, 31 subsamples
2025-12-11 05:11:29.519 [info] [CursorProclistService] Sample 27 created: 113 processes, 37 subsamples
2025-12-11 05:16:29.517 [info] [CursorProclistService] Sample 28 created: 95 processes, 31 subsamples
2025-12-11 05:21:29.680 [info] [CursorProclistService] Sample 29 created: 95 processes, 31 subsamples
2025-12-11 05:26:29.550 [info] [CursorProclistService] Sample 30 created: 95 processes, 31 subsamples
2025-12-11 05:31:29.651 [info] [CursorProclistService] Sample 31 created: 95 processes, 31 subsamples
2025-12-11 05:36:29.533 [info] [CursorProclistService] Sample 32 created: 95 processes, 31 subsamples
2025-12-11 05:41:29.540 [info] [CursorProclistService] Sample 33 created: 95 processes, 31 subsamples
2025-12-11 05:44:45.819 [info] [CursorProclistService] Sample 34 created: 65 processes, 21 subsamples
2025-12-11 05:49:45.821 [info] [CursorProclistService] Sample 35 created: 98 processes, 30 subsamples
2025-12-11 05:53:03.271 [info] [<unknown>][f8f1bbc7][ManagementConnection] The client has disconnected gracefully, so the connection will be disposed.
2025-12-11 05:53:03.397 [info] [<unknown>][8bafc444][ExtensionHostConnection] <10550> Extension Host Process exited with code: 0, signal: null.
2025-12-11 05:53:03.397 [info] Last EH closed, waiting before shutting down
2025-12-11 05:53:07.723 [info] [<unknown>][46810864][ExtensionHostConnection] New connection established.
2025-12-11 05:53:07.730 [info] [<unknown>][46810864][ExtensionHostConnection] <26222> Launched Extension Host Process.
2025-12-11 05:53:07.762 [info] [<unknown>][6b620fd0][ManagementConnection] New connection established.
2025-12-11 05:53:07.921 [info] Getting extensions control
2025-12-11 05:53:10.361 [error] CodeExpectedError: Could not find pty 17 on pty host
    at M._throwIfNoPty (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:47:7334)
    at M.resize (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:47:3319)
    at O.r.<computed> (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:46:3386)
    at Object.call (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:28:4951)
    at gc.onPromise (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:91785)
    at gc.onRawMessage (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:91200)
    at pr.value (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:90483)
    at b._deliver (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:2937)
    at b.fire (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:3257)
    at process.w (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:24:24774)
    at process.emit (node:events:518:28)
    at emit (node:internal/child_process:950:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)
2025-12-11 05:53:10.388 [info] [CursorProclistService] Config enabled feature (subsample every 10s)
2025-12-11 05:54:25.382 [info] [<unknown>][99359fb2][ManagementConnection] New connection established.
2025-12-11 05:54:25.395 [info] [<unknown>][7968352e][ExtensionHostConnection] New connection established.
2025-12-11 05:54:25.398 [info] [<unknown>][7968352e][ExtensionHostConnection] <26717> Launched Extension Host Process.
2025-12-11 05:54:25.964 [info] [CursorProclistService] Config enabled feature (subsample every 10s)
2025-12-11 05:58:03.399 [info] New EH opened, aborting shutdown
2025-12-11 05:58:10.466 [info] [CursorProclistService] Sample 36 created: 8 processes, 24 subsamples
2025-12-11 05:59:26.169 [info] [CursorProclistService] Sample 37 created: 9 processes, 9 subsamples

more logs from /home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/log.txt

Server bound to /tmp/cursor-b8a57797-f391-44c7-8f38-870ce7959866
Extension host agent listening on /tmp/cursor-b8a57797-f391-44c7-8f38-870ce7959866

[02:47:13] 




[02:47:13] [CursorProclistService] Native module loaded successfully
[02:47:13] Extension host agent started.
[02:47:13] Started initializing default profile extensions in extensions installation folder. file:///home/cursor/.cursor-server/extensions
[02:47:13] [<unknown>][be16c4c1][ExtensionHostConnection] New connection established.
[02:47:13] [<unknown>][b7c1c0b2][ManagementConnection] New connection established.
[02:47:13] [<unknown>][be16c4c1][ExtensionHostConnection] <1016> Launched Extension Host Process.
[02:47:13] Getting extensions control
[02:47:13] [CursorProclistService] Config enabled feature (subsample every 10s)
[02:47:13] Completed initializing default profile extensions in extensions installation folder. file:///home/cursor/.cursor-server/extensions
New EH opened, aborting shutdown
[02:52:13] New EH opened, aborting shutdown
[02:52:13] [CursorProclistService] Sample 0 created: 5 processes, 32 subsamples
[02:57:13] [CursorProclistService] Sample 1 created: 39 processes, 31 subsamples
[03:02:29] [CursorProclistService] Sample 2 created: 7 processes, 32 subsamples
[03:07:29] [CursorProclistService] Sample 3 created: 6 processes, 31 subsamples
[03:12:29] [CursorProclistService] Sample 4 created: 6 processes, 31 subsamples
[03:17:29] [CursorProclistService] Sample 5 created: 6 processes, 31 subsamples
[03:23:29] [CursorProclistService] Sample 6 created: 6 processes, 37 subsamples
[03:28:29] [CursorProclistService] Sample 7 created: 6 processes, 31 subsamples
[03:33:29] [CursorProclistService] Sample 8 created: 6 processes, 31 subsamples
[03:38:29] [CursorProclistService] Sample 9 created: 6 processes, 31 subsamples
[03:43:29] [CursorProclistService] Sample 10 created: 6 processes, 31 subsamples
[03:48:29] [CursorProclistService] Sample 11 created: 6 processes, 31 subsamples
[03:53:29] [CursorProclistService] Sample 12 created: 6 processes, 31 subsamples
[03:58:29] [CursorProclistService] Sample 13 created: 6 processes, 31 subsamples
[04:03:29] [CursorProclistService] Sample 14 created: 6 processes, 31 subsamples
[04:08:29] [CursorProclistService] Sample 15 created: 6 processes, 31 subsamples
[04:13:29] [CursorProclistService] Sample 16 created: 6 processes, 31 subsamples
[04:17:13] [CursorProclistService] Sample 17 created: 7 processes, 24 subsamples
[04:22:13] [CursorProclistService] Sample 18 created: 7 processes, 31 subsamples
[04:27:13] [CursorProclistService] Sample 19 created: 7 processes, 31 subsamples
[04:33:15] [CursorProclistService] Sample 20 created: 7 processes, 37 subsamples
[04:34:25] [<unknown>][b7c1c0b2][ManagementConnection] The client has disconnected gracefully, so the connection will be disposed.
[04:34:25] [<unknown>][be16c4c1][ExtensionHostConnection] <1016> Extension Host Process exited with code: 0, signal: null.
Last EH closed, waiting before shutting down
[04:34:25] Last EH closed, waiting before shutting down
[04:34:45] [<unknown>][f8f1bbc7][ManagementConnection] New connection established.
[04:34:45] [<unknown>][8bafc444][ExtensionHostConnection] New connection established.
[04:34:45] [<unknown>][8bafc444][ExtensionHostConnection] <10550> Launched Extension Host Process.
[04:34:45] Getting extensions control
[04:34:45] [CursorProclistService] Config enabled feature (subsample every 10s)
rejected promise not handled within 1 second: CodeExpectedError: Could not find pty 11 on pty host
stack trace: CodeExpectedError: Could not find pty 11 on pty host
    at M._throwIfNoPty (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:47:7334)
    at M.resize (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:47:3319)
    at O.r.<computed> (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:46:3386)
    at Object.call (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:28:4951)
    at gc.onPromise (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:91785)
    at gc.onRawMessage (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:91200)
    at pr.value (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:90483)
    at b._deliver (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:2937)
    at b.fire (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:3257)
    at process.w (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:24:24774)
    at process.emit (node:events:518:28)
    at emit (node:internal/child_process:950:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)
[04:34:48] Error [CodeExpectedError]: Could not find pty 11 on pty host
    at M._throwIfNoPty (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:47:7334)
    at M.resize (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:47:3319)
    at O.r.<computed> (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:46:3386)
    at Object.call (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:28:4951)
    at gc.onPromise (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:91785)
    at gc.onRawMessage (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:91200)
    at pr.value (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:90483)
    at b._deliver (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:2937)
    at b.fire (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:26:3257)
    at process.w (file:///home/cursor/.cursor-server/cli/servers/Stable-1685afce45886aa5579025ac7e077fc3d4369c50/server/out/vs/platform/terminal/node/ptyHostMain.js:24:24774)
    at process.emit (node:events:518:28)
    at emit (node:internal/child_process:950:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

this happens even if there’s an empty workspace

tried to use cursor to debug it.. and this was teh answer:

The Real Issue

Even with only one user-installed extension (Git Graph), the Cursor server automatically loads 43 built-in extensions, including:

  • Cursor-specific extensions: cursor-agent-exec, cursor-retrieval, cursor-browser-extension, cursor-mcp, etc.

  • Language features: markdown-language-features, css-language-features, html-language-features, json-language-features

  • Git extensions: git, git-base, github, github-authentication

  • And 30+ more built-in extensions

Resource Usage Breakdown

  1. Extension Host (PID 421): 2.5% CPU, 278MB RAM
  • Loads and runs all 43 built-in extensions

  • Has read 34MB from disk (loading extension code)

  1. High I/O wait (42%): The main bottleneck
  • Likely from extension loading, file watching, and filesystem operations

  • Even with an empty workspace, the file watcher monitors for changes

  1. Memory pressure: 4.6GB swap used
  • 10GB of 19GB RAM used

  • Swap usage indicates memory pressure

Why This Happens

The Extension Host process loads all built-in extensions at startup, regardless of workspace contents. This is expected behavior, but the high I/O wait suggests disk I/O is slow, which can make the system feel sluggish.

The empty workspace isn’t the cause; it’s the Cursor server infrastructure loading its built-in extensions and the slow disk I/O.

:phoenix:

Does it stop and calm down after a few minutes? The git stuff is pretty annoying but try to open or start a new project and initialize the git repo in it.

yes it’s persistent. i also tried leaving it for a day and it’s still like this with high cpu and memory usage

more troubleshooting:

Log Analysis - Hypothesis Evaluation

## Hypothesis A: High CPU Usage from Extension Host

**Status: REJECTED**

- Evidence: CPU consistently 1.7-1.8% (well below 20% threshold)

- Log entries: Lines 16-40 show stable CPU usage

- Conclusion: CPU usage is normal, not the cause

## Hypothesis B: High Memory Usage from Extension Host

**Status: CONFIRMED - ROOT CAUSE IDENTIFIED**

- Evidence:

- Virtual memory: **76GB** (76307208-76309412 KB)

- RSS (actual memory): **280MB** (280268-281620 KB)

- VM/RSS ratio: **~270:1** (extremely abnormal)

- VmData from /proc: **76GB** (76204584 KB)

- Log entries: All extension host logs show consistent 76GB virtual memory

- Conclusion: **This is the root cause** - excessive virtual memory allocation

## Hypothesis C: Extension Host File Watching

**Status: REJECTED**

- Evidence: 56 file descriptors (normal), no excessive watching

- Conclusion: Not the cause

## Hypothesis D: Language Servers

**Status: REJECTED**

- Evidence: No active language server processes found

- Conclusion: Not the cause

## Hypothesis E: File Watcher Process

**Status: REJECTED**

- Evidence: Low CPU (0.1%), low memory (0.2%), only 8 inotify watches

- Conclusion: Not the cause

## Hypothesis F: Server Main Process

**Status: REJECTED**

- Evidence: Normal resource usage

- Conclusion: Not the cause

## ROOT CAUSE

The extension host Node.js process has allocated **76GB of virtual memory** but only uses **280MB of actual RAM**. This indicates:

1. Excessive Node.js heap size configuration (likely `–max-old-space-size` set too high or unlimited)

2. Memory fragmentation or allocation bug

3. Virtual memory is pre-allocated but not actually used

## SOLUTION

Limit Node.js heap size for the extension host process to a reasonable value (e.g., 4GB) by:

1. Finding where the extension host is launched

2. Adding `–max-old-space-size=4096` to the Node.js command

3. This will cap virtual memory allocation at 4GB instead of 76GB

“The process allocating 76GB of virtual memory is the Cursor extension host process.”

Process identification:

  • Command: bootstrap-fork --type=extensionHost

  • Full command line (from logs):

    /home/cursor/.cursor-server/cli/servers/Stable-cf858ca030e9c9a99ea444ec6efcbcfc40bfda70/server/node

    –dns-result-order=ipv4first

    /home/cursor/.cursor-server/cli/servers/Stable-cf858ca030e9c9a99ea444ec6efcbcfc40bfda70/server/out/bootstrap-fork

    –type=extensionHost

    –transformURIs

    –useHostProxy=false

  • PID: 9238 (from your logs)

  • What it is:

    The extension host is a Node.js process that runs Cursor/VS Code extensions in isolation. It’s spawned by the main Cursor server process and hosts all installed extensions.

    Why 76GB virtual memory:

    The Node.js process likely has an excessive or unlimited heap size (–max-old-space-size), causing it to pre-allocate a large virtual address space even though only ~280MB of RAM is used. This is a virtual memory allocation issue, not actual memory consumption.

    You can identify it with:

    ps aux | grep “bootstrap-fork.*extensionHost”

    The fix mentioned in your ANALYSIS.md (limiting --max-old-space-size to 4GB) should resolve this.

nevermind it was my other docker containers. shutting them down reduce the overall cpu and ram usage

/home/cursor/.cursor-server/cli/servers/Stable-cf858ca030e9c9a99ea444ec6efcbcfc40bfda70/server/node

This path indicates that the VSCode Remote SSH plugin is in use, which has performance issues with Cursor. Could try switching to the Cursor Remote SSH plugin?

This topic was automatically closed 22 days after the last reply. New replies are no longer allowed.