VSCode远程开发CPU占用率100%?从Samba瓶颈到Remote-SSH避坑实战

VSCode远程开发CPU占用率100%问题解决实录:从Samba到Remote-SSH的避坑指南

一、问题现象:打开远程工程后CPU"爆表"

某天用VSCode打开远程服务器的SDK工程时,电脑卡顿严重,任务管理器显示CPU占用率持续100%。登录远程服务器执行top命令,发现罪魁祸首是smbd进程(Samba服务):

二、原因分析:Samba的"文件扫描瓶颈"

  1. Samba与VSCode的"冲突"

    VSCode的C/C++插件会实时监控+索引工程文件(生成IntelliSense数据库),而Samba在处理大量小文件(SDK常见)的频繁访问时,smbd进程会因"元数据解析过载"陷入死循环,导致CPU占用率飙升。

  2. 验证结论

    关闭VSCode后,smbdCPU占用率降至5%以下;

因此我们不可以通过在本地电脑通过映射网络位置,之后再用VSCode在本地打开工程的方式来编辑代码。

三、解决方案:用Remote-SSH替代Samba

核心思路:VSCode通过SSH直连服务器,绕过Samba共享,直接访问远程文件,彻底消除smbd负载。

步骤1:安装VSCode Remote-SSH扩展

  • 本地VSCode扩展面板搜索 Remote - SSH(Microsoft出品),安装后左侧新增"远程资源管理器"图标。

    步骤2:配置SSH连接
  • 在"远程资源管理器"中右键test@192.168.1.100,选择"Connect to Host in Current Window",输入密码登录;
  • 点击"打开文件夹",输入你的工程路径即可。

    步骤3:优化配置降低CPU占用
    在工程根目录创建.vscode/settings.json,添加:
javascript 复制代码
{
    "files.exclude": {  // 排除编译输出、备份目录
        "**/build": true, 
        "**/backup": true, 
        "**/*.o": true,
        "**/*.a": true,
        "**/*.so": true
    },
    "C_Cpp.workspaceParsingPriority": "low",  // 降低解析优先级
    "C_Cpp.intelliSenseEngine": "Tag Parser",  // 轻量级引擎(替代Default)
    "C_Cpp.codeAnalysis.runAutomatically": false,  // 禁用实时分析
    "files.watcherExclude": {  // 排除文件实时监控
        "**/sample_test/**": true,
        "**/sample_test_bak/**": true
    }
}

四、解决VScode一直显示 "正在下载vs code 服务器" 的问题

若服务器无法访问外网,VSCode会卡在"正在下载VS Code 服务器",需手动安装服务器组件。

步骤1:获取本地VSCode的Commit ID

查看操作:Vscode-> 顶部状态栏的三个点 -> 帮助 -> 关于,复制提交的ID

步骤2:手动下载并上传VS Code Server

1、本地下载

在浏览器中访问一下网址,下载对应提交ID的 vscode-server-linux-x64.tar.gz。

javascript 复制代码
https://update.code.visualstudio.com/commit:<CommitID>/server-linux-x64/stable
//CommitID 需要更换为你上一步找到的ID

2、上传到服务器

javascript 复制代码
scp vscode-server-linux-x64.tar.gz test@192.168.1.100:~/.vscode-server/<CommitID>/
//拷贝压缩包到服务器的.vscode-server路径下

步骤3:服务器端解压与路径修复

javascript 复制代码
cd ~/.vscode-server/<CommitID>/
tar -zxvf vscode-server-linux-x64.tar.gz --strip-components 1  # 移除顶层目录
rm vscode-server-linux-x64.tar.gz  # 删除压缩包
touch 0  # 创建标记文件,避免重复下载

# 修复权限
chmod -R 755 ~/.vscode-server/<CommitID>/


就是把刚才下载的压缩包解压到服务器的 .vscode-server 文件夹

步骤4:验证连接

重启VSCode,重新连接服务器,左下角显示SSH: test@192.168.1.100,无"下载中"提示,工程加载流畅。之后就可以打开对应的工程愉快地开发啦~

结语

通过"Remote-SSH替代Samba+手动安装VS Code Server",彻底解决了CPU占用率100%的问题。核心思路是避开Samba的文件扫描瓶颈,用SSH直连实现高效远程开发。若你也遇到类似问题,按本文步骤操作,90%以上场景可解决!

相关推荐
陈煜的博客2 小时前
idea 项目只编译不打包,跳过测试,快速开发
java·ide·intellij-idea
AI松子6665 小时前
vscode远程docker容器时报错
ide·vscode·docker
Mr-Wanter5 小时前
踩坑记录:IDEA 启动服务连续三次 OOM 内存溢出完整解决
java·ide·intellij-idea·oom
hjuan___9 小时前
给 Claude Code 装上“技能库”和“眼睛”:配置 Skills 与图片识别实战
vscode·minimax·mcp·ai 编程·claude code·cc switch
❀͜͡傀儡师9 小时前
GitHub Copilot for VS Code 中文使用完整教程
vscode·github·copilot
白头小黄10 小时前
ESP32+VScode+PIO实现基础的自带USB接口的JTAG调试
ide·vscode·编辑器
被放养的研究生10 小时前
vscode-settings.json(直接复制使用,带有注释)
ide·vscode·json
Eloudy10 小时前
macOS 上开启 SSH 服务
运维·macos·ssh
数字供应链安全产品选型11 小时前
2026 AI安全左移再进化:从IDE插件到CI门禁,悬镜灵境AIDR的全流程集成实践
ide·人工智能·安全
Fleshy数模11 小时前
解决 PaddleOCR 库冲突:PyCharm 虚拟环境搭建 + 完整 OCR 实战教程
ide·pycharm·ocr