🔄 卡若AI 重建本地主仓 | 保留有效小文件

This commit is contained in:
Manus AI
2026-07-19 00:21:31 +08:00
commit df98da40cc
7617 changed files with 5180190 additions and 0 deletions

View File

@@ -0,0 +1,223 @@
# noVNC + macOS 虚拟机流畅度优化指南
> 适用于:存客宝 NAS8GB 内存)上的 dockurr/macos 虚拟机,通过 noVNC (open.quwanzhi.com:8007) 远程操作。
---
## 一、问题成因简析
| 环节 | 可能瓶颈 |
|------|----------|
| **NAS 硬件** | 8GB 内存macOS VM 仅 3GBQEMU 渲染+noVNC 编码占 CPU |
| **网络** | 外网 frpc 穿透增加延迟VNC 全帧传输带宽高 |
| **VNC 协议** | 无硬件加速,高分辨率+高色彩深度导致数据量大 |
| **浏览器** | 多标签占用内存WebSocket 解码消耗 CPU |
---
## 二、优化方案总览
### 优先级
1. **立即可做(无需重启 VM**noVNC URL 参数、浏览器优化、优先用内网
2. **需重启 VM**:修改 docker-compose、macOS 内系统设置
3. **一次性配置**macOS 内运行 osx-optimizer 脚本
---
## 三、立即可做0 成本)
### 1. 使用优化后的 noVNC 访问 URL
**原地址**`http://open.quwanzhi.com:8007`
**优化后**(降低画质换流畅):
```
http://open.quwanzhi.com:8007/?qualityLevel=3&compressionLevel=6&resize=scale
```
| 参数 | 含义 | 推荐值 |
|------|------|--------|
| `qualityLevel` | JPEG 画质 09越低越省带宽 | 3 或 4 |
| `compressionLevel` | 压缩强度 09越高越省带宽、越耗 CPU | 56 |
| `resize` | 缩放模式 | `scale`(适应窗口) |
**更激进(最流畅优先)**
```
http://open.quwanzhi.com:8007/?qualityLevel=2&compressionLevel=7&resize=scale
```
### 2. 优先用内网直连(跳过 frpc
若 MacBook 与 NAS 在同一局域网(如 192.168.1.x
```
http://192.168.1.201:8007/?qualityLevel=3&compressionLevel=6&resize=scale
```
可减少外网穿透带来的延迟。
### 3. 浏览器优化
- **只开一个 noVNC 标签**,关闭其他大页签
- 使用 **Chrome**,并开启硬件加速:设置 → 系统 → 使用硬件加速
- 用**无痕/独立窗口**打开 noVNC减少扩展和插件干扰
---
## 四、NAS / Docker 配置优化
### 1. 更新 macos-vm 的 docker-compose
编辑 `/volume1/docker/macos-vm/docker-compose.yml`
```yaml
version: "3.8"
services:
macos:
image: dockurr/macos
container_name: macos-vm
environment:
- VERSION=ventura
- RAM_SIZE=4G # 3G→4GNAS 有余量时)
- CPU_CORES=2 # 1核→2核
- DISK_SIZE=64G
# 以下为可选,部分 dockurr 版本支持
- DISPLAY_WIDTH=1280 # 降低默认分辨率
- DISPLAY_HEIGHT=720
ports:
- "8007:8006"
- "5901:5900"
volumes:
- /volume1/vm/macos:/storage
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
restart: "no"
deploy:
resources:
limits:
memory: 4500M
```
**注意**`DISPLAY_WIDTH`/`DISPLAY_HEIGHT` 若镜像不支持可删除;优先保证 `CPU_CORES=2``RAM_SIZE=4G`
### 2. 应用并重启 VM
#### 方式 A在 NAS 上直接执行(外网时推荐)
1. SSH 登录 CKB NAS
- **内网**`ssh fnvtk@192.168.1.201`(需加 `-o KexAlgorithms=+diffie-hellman-group1-sha1 -o Ciphers=+aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc`
- **外网**:若有 frpc 暴露 SSH或通过 Tailscale/QuickConnect VPN 后同上
2. 将脚本传到 NAS 或从 Gitea 克隆卡若AI 后,执行:
```bash
cd /volume1/docker/macos-vm
# 若脚本在 SynologyDrive/卡若AI 或 Gitea 克隆目录,先复制过来:
# cp /path/to/optimize_macos_vm_on_nas.sh /volume1/docker/macos-vm/
chmod +x optimize_macos_vm_on_nas.sh
./optimize_macos_vm_on_nas.sh
```
3. 或**一行命令**(直接粘贴到 NAS 终端):
```bash
cd /volume1/docker/macos-vm && cp docker-compose.yml docker-compose.yml.bak.$(date +%Y%m%d) 2>/dev/null; cat > docker-compose.yml << 'EOF'
version: "3.8"
services:
macos:
image: dockurr/macos
container_name: macos-vm
environment:
- VERSION=ventura
- RAM_SIZE=4G
- CPU_CORES=2
- DISK_SIZE=64G
ports:
- "8007:8006"
- "5901:5900"
volumes:
- /volume1/vm/macos:/storage
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
restart: "no"
deploy:
resources:
limits:
memory: 4500M
EOF
echo 'zhiqun1984' | sudo -S /volume1/@appstore/ContainerManager/usr/bin/docker compose down 2>/dev/null; sleep 2; echo 'zhiqun1984' | sudo -S /volume1/@appstore/ContainerManager/usr/bin/docker compose up -d && echo "✅ 完成"
```
#### 方式 B从本机 SSH 到 NAS 执行(需与 NAS 同网或可 SSH 访问)
```bash
ssh nas "cd /volume1/docker/macos-vm && echo 'zhiqun1984' | sudo -S /volume1/@appstore/ContainerManager/usr/bin/docker compose down"
ssh nas "cd /volume1/docker/macos-vm && echo 'zhiqun1984' | sudo -S /volume1/@appstore/ContainerManager/usr/bin/docker compose up -d"
```
---
## 五、macOS 虚拟机内部优化
连接 noVNC 后,在 macOS 终端执行(需管理员密码):
### 1. 关闭 Spotlight 索引(显著减轻 I/O
```bash
sudo mdutil -i off -a
```
### 2. 减少动画与透明(减轻渲染压力)
```bash
defaults write com.apple.Accessibility ReduceMotionEnabled -int 1
defaults write com.apple.universalaccess reduceMotion -int 1
defaults write com.apple.universalaccess reduceTransparency -int 1
```
### 3. 降低显示器分辨率
系统设置 → 显示器 → 分辨率 → 选择 **1280×720** 或 **1366×768**。
### 4. 关闭不必要后台
- 系统设置 → 通用 → 登录项:移除不需要开机自启的应用
- 活动监视器中结束占用高的非必要进程
---
## 六、外网访问优化frpc
若必须用 `open.quwanzhi.com:8007`
- 确认 frpc 服务端带宽与延迟正常
- 使用有线或 5GHz WiFi避免弱信号
- 可考虑 Tailscale/ZeroTier 等组网,替代端口映射
---
## 七、预期效果
| 优化项 | 预期改善 |
|--------|----------|
| qualityLevel=3 + compressionLevel=6 | 延迟和卡顿明显下降 |
| 内网直连 | 延迟可再降 50100ms |
| CPU 2核 + RAM 4G | 多任务、窗口切换更顺 |
| 关闭 Spotlight + 降分辨率 | 减少 I/O 和渲染负担 |
---
## 八、若仍卡顿
1. **确认 NAS 资源**`ssh nas "free -h && uptime"`,查看内存和负载
2. **确认 VM 占用**`ssh nas "/volume1/@appstore/ContainerManager/usr/bin/docker stats --no-stream"`
3. **尝试原生 VNC 客户端**(如 RealVNC、TigerVNC连接 `vnc://IP:5901`,对比 noVNC 是否更卡
4. **升级 NAS 内存**DS1825+ 支持扩展到 32GB可显著改善
---
**更新**2026-02-16 | 归属:金仓 · 群晖NAS管理