add vscode tips and new article
Build and deploy documentation / build-and-deploy-docs (push) Failing after 10s

This commit is contained in:
2026-07-30 10:46:26 +02:00
parent fe091bb7d8
commit 8b1e7768b6
2 changed files with 82 additions and 0 deletions
@@ -146,5 +146,39 @@ interactive --status
If it has ended, create a new allocation and regenerate the VS Code SSH config.
## VS Code via Open OnDemand
<!-- Include open-ondemand-alternative information -->
{% include-markdown "merlin7/07-software-support/includes/open-ondemand-alternative.md" %}
## Tips and Other Suggestions
### Limit Search Indexing
VSCode will by default generate search indexes of your project directories. Depending on your local settings, or where VSCode is
starting from, this could include many paths within the filesystem. Note that the Lustre filesystem used in Merlin7 is sensitive
to file `stat` and similar IO, leading to congestion and noticeable delays from the filesystem. VSCode search can cause a overload of
requests and negatively effect the responsiveness of the system (this effect can in extreme cases affect the entire cluster!).
To limit this, please check and update the following settings as:
```json
"search.exclude": {
"**/node_modules": true,
"**/.git": true,
"/data/**": true,
"/scratch/**": true,
},
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.git/**": true,
"/data/**": true,
"/scratch/**": true,
},
```
Additionally, consider enabling the search "ignore files" feature, which will respect the files and paths as specified in `.*ignore` files.
```json
"search.useIgnoreFiles": true,
"search.useGlobalIgnoreFiles": true,
```
+48
View File
@@ -0,0 +1,48 @@
---
date:
created: 2026-07-30
tags:
- software
- support
---
# VSCode and system congestion
Over the past few months we've seen a large surge in the number of users using
VSCode (via the Remote SSH extension). The extension causes a persistent
service, called the VSCode Server, to be launched on the remote system, in
order to fulfill and extend VSCode's features to the remote system.
## What's the problem?
Wether intentionally or not, many users' VSCode sessions launch on the login nodes
(i.e. `login001` and `login002`) and are left to idle long after the user has
"disconnected" from the cluster. This can cause several problems which eventually
lead to slow responsiveness of the login node:
- linger processes (at least 20 per user session) are left behind, consuming resources
- the Lustre filesystem struggles to handle the increasing file system operations (e.g. `statfs`, `getattr`, etc.)
- other processes stall waiting for the filesystem to respond; either they continue to hang or eventually fail
- all interactive sessions (i.e. other logged in user sessions) become laggy and eventually totally unresponsive
Note that these issues happen even when the system is not under load!
The causes for these issues from the VSCode Server service are:
- timer based behaviours, like file indexing and connection checks, keep triggering regardless of user activity
- the process often maintains state within memory, meaning resources are consumed regardless of user actions (e.g. doing something interactive or logged out)
## How do we prevent this situation from happening?
The VSCode developers have [invested hardly any
effort](https://github.com/microsoft/vscode-remote-release/issues/10875) in
providing mechanisms that SysAdmins can use to regulate VSCode Server on the
remote machines. Intervention by our users is needed.
Within out [documentation for VSCode](../../merlin7/07-software-support/vscode.md) we provide a guide to
use SLURM interactive sessions, using compute nodes to host the VSCode Server service, and also Tips
on improving the "performance" of VSCode by limiting filesystem operations. We ask all users to read
through the documentation and adapt their workflows to help improve the usability of the cluster.
If these system congestion issues keep happening, we might be forced to take more drastic actions, including
fully banning the use of VSCode Server on Merlin7.