Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VSCode Remote Container consumes too much RAM when 2 windows are open #9042

Closed
Tracked by #9044
vsimundic opened this issue Sep 28, 2023 · 2 comments
Closed
Tracked by #9044
Assignees
Labels
containers Issue in vscode-remote containers info-needed Issue requires more information from poster

Comments

@vsimundic
Copy link

Type: Performance Issue

When I open a remote container in one window and in other window any other folder or workspace (does not have to be in a remote container), my RAM usage starts spiking up until it's all gone and the PC crashes. When I look in the processes in the System Monitor, I see small 7-8MB docker processes constantly showing up. I tried downgrading the version, rebooting, switching remote containers.

Extension version: 0.299.0
VS Code version: Code 1.82.2 (abd2f3db4bdb28f9e95536dfa84d8479f1eb312d, 2023-09-14T05:51:20.981Z)
OS version: Linux x64 5.15.0-84-generic snap
Modes:
Remote OS version: Linux x64 5.15.0-84-generic

System Info
Item Value
CPUs AMD Ryzen 5 3600 6-Core Processor (12 x 2200)
GPU Status 2d_canvas: enabled
canvas_oop_rasterization: disabled_off
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
video_decode: enabled
video_encode: disabled_software
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: disabled_off
Load (avg) 1, 1, 1
Memory (System) 15.56GB (11.66GB free)
Process Argv --no-sandbox --force-user-env --unity-launch --crash-reporter-id 5ba6a309-af98-49e8-9291-32a019eeba6b
Screen Reader no
VM 0%
DESKTOP_SESSION ubuntu
XDG_CURRENT_DESKTOP Unity
XDG_SESSION_DESKTOP ubuntu
XDG_SESSION_TYPE x11
Item Value
Remote Container rvl:ur5_detectron2 (rvl_ur5_detectron2)
OS Linux x64 5.15.0-84-generic
CPUs AMD Ryzen 5 3600 6-Core Processor (12 x 2200)
Memory (System) 15.56GB (11.66GB free)
VM 0%
Process Info
CPU %	Mem MB	   PID	Process
    0	   143	160896	code main
    0	    32	160898	   zygote
    0	    32	160899	   zygote
    0	   175	160944	window [1] (robotiq_gripper_empty_world.launch - ur5_ws [Container rvl:ur5_detectron2 (rvl_ur5_detectron2)] - Visual Studio Code)
    0	    96	162146	window [2] (Issue Reporter)
    0	   223	160924	   gpu-process
    0	    64	160932	   utility-network-service
    0	    96	161014	extensionHost [1]
    0	    16	161192	     docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=79aa891c-b5d1-47e5-8a84-3d5425d521181695929662803 bd28ca2dd48c435f23228e139cc7e30aa5040ddb6ac4615a44a742482e41f06f /bin/sh
    0	    16	161242	     docker exec -i -u root bd28ca2dd48c435f23228e139cc7e30aa5040ddb6ac4615a44a742482e41f06f /bin/sh
    0	    16	161504	     docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=79aa891c-b5d1-47e5-8a84-3d5425d521181695929662803 bd28ca2dd48c435f23228e139cc7e30aa5040ddb6ac4615a44a742482e41f06f /root/.vscode-server/bin/abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/node -e  ....const net = require('net'); ....const fs = require('fs'); ....process.stdin.pause(); ....const client = net.createConnection({ host: '127.0.0.1', port: 45357 }, () => { .....console.error('Connection established'); .....client.pipe(process.stdout); .....process.stdin.pipe(client); ....}); ....client.on('close', function (hadError) { .....console.error(hadError ? 'Remote close with error' : 'Remote close'); .....process.exit(hadError ? 1 : 0); ....}); ....client.on('error', function (err) { .....process.stderr.write(err && (err.stack || err.message) || String(err)); ....}); ....process.stdin.on('close', function (hadError) { .....console.error(hadError ? 'Remote stdin close with error' : 'Remote stdin close'); .....process.exit(hadError ? 1 : 0); ....}); ....process.on('uncaughtException', function (err) { .....fs.writeSync(process.stderr.fd, `Uncaught Exception: ${String(err && (err.stack || err.message) || err)}\n`); ....}); ...
    0	    16	161602	     docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=79aa891c-b5d1-47e5-8a84-3d5425d521181695929662803 bd28ca2dd48c435f23228e139cc7e30aa5040ddb6ac4615a44a742482e41f06f /root/.vscode-server/bin/abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/node -e  ....const net = require('net'); ....const fs = require('fs'); ....process.stdin.pause(); ....const client = net.createConnection({ host: '127.0.0.1', port: 45357 }, () => { .....console.error('Connection established'); .....client.pipe(process.stdout); .....process.stdin.pipe(client); ....}); ....client.on('close', function (hadError) { .....console.error(hadError ? 'Remote close with error' : 'Remote close'); .....process.exit(hadError ? 1 : 0); ....}); ....client.on('error', function (err) { .....process.stderr.write(err && (err.stack || err.message) || String(err)); ....}); ....process.stdin.on('close', function (hadError) { .....console.error(hadError ? 'Remote stdin close with error' : 'Remote stdin close'); .....process.exit(hadError ? 1 : 0); ....}); ....process.on('uncaughtException', function (err) { .....fs.writeSync(process.stderr.fd, `Uncaught Exception: ${String(err && (err.stack || err.message) || err)}\n`); ....}); ...
    0	    16	165426	     electron-nodejs (settings.js settings.js )
    0	    16	165434	     docker exec -i -u root -w /root/.vscode-server/extensions bd28ca2dd48c435f23228e139cc7e30aa5040ddb6ac4615a44a742482e41f06f /bin/sh -c # Watch installed extensions ...trap "exit 0" 15 ...old=`ls -A --full-time` ...counter=0 ...while [ $counter -lt 60 ] ...do ....sleep 1 ....new=`ls -A --full-time` ....if [ "$new" != "$old" ] ....then .....exit 1 ....fi ....counter=`expr $counter + 1` ...done ...exit 2 ..
    0	    96	161642	shared-process
    0	     0	166095	     /bin/sh -c /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
    0	     0	166096	       /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
    0	    64	161655	fileWatcher [1]

Remote: Container rvl:ur5_detectron2 (rvl_ur5_detectron2)
CPU %	Mem MB	   PID	Process
    0	   112	   157	remote agent
    0	    48	   381	   ptyHost
    0	     0	112877	     /usr/bin/bash --init-file /root/.vscode-server/bin/abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/out/vs/workbench/contrib/terminal/browser/media/shellIntegration-bash.sh
    0	   255	112811	   extension-host
    0	    48	112926	     /root/.vscode-server/bin/abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/node /root/.vscode-server/bin/abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=112811
    0	   175	112952	     /root/.vscode-server/extensions/ms-vscode.cpptools-1.17.5/bin/cpptools
    0	   159	113022	     /root/.vscode-server/bin/abd2f3db4bdb28f9e95536dfa84d8479f1eb312d/node /root/.vscode-server/extensions/ms-python.vscode-pylance-2023.9.30/dist/server.bundle.js --cancellationReceive=file:9ca15f63fab400084c156051c6bc7003123b3eb5c1 --node-ipc --clientProcessId=112811
    0	    48	112826	   fileWatcher
    0	     0	116583	   /bin/sh -c /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
    0	     0	116584	     /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
Workspace Info

|  Remote: Container rvl:ur5_detectron2 (rvl_ur5_detectron2)|    Folder (ur5_ws): 6195 files|      File types: cmake(1244) make(1089) py(311) internal(219) h(163)
|                  cpp(158) txt(150) xml(150) o(129) launch(121)
|      Conf files: cmake(1244) makefile(49) settings.json(4);
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscoreces:30445986
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
vsclangdc:30486549
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
282f8724:30602487
f6dab269:30613381
showlangstatbar:30737416
03d35959:30757346
pythonfmttext:30731395
fixshowwlkth:30771522
showindicator:30805244
pythongtdpath:30769146
i26e3531:30792625
pythonnosmt12:30797651
pythonidxpt:30805730
pythonnoceb:30805159
copilotsettingc:30839828
dsvsc013:30795093
dsvsc014:30804076
diffeditorv2:30821572
pythonmpsinfo:30842941
dsvsc015:30845448

@github-actions github-actions bot added the containers Issue in vscode-remote containers label Sep 28, 2023
@protection6 protection6 mentioned this issue Sep 29, 2023
@chrmarti
Copy link
Contributor

A certain number of docker exec process is needed for Dev Containers to work. Are these accumulating? Which ones? Also check if this is still an issue in the latest version.

@chrmarti chrmarti self-assigned this Dec 13, 2024
@chrmarti chrmarti added the info-needed Issue requires more information from poster label Dec 13, 2024
Copy link

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.

Happy Coding!

@vs-code-engineering vs-code-engineering bot closed this as not planned Won't fix, can't repro, duplicate, stale Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
containers Issue in vscode-remote containers info-needed Issue requires more information from poster
Projects
None yet
Development

No branches or pull requests

2 participants