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