近期開發時我的EC2 t3.small 用 VSCode Remote SSH 時常會造成機器不穩定,不只是SSH斷連,連用AWS的Session Manager都連不進去。正常使用時容器與交易程式都運作順利,但只要用 VSCode Remote SSH 開啟資料夾,整台機器就會開始變慢、斷線,甚至連 AWS Session Manager 都登不進去。
VSCode Remote 會在遠端啟動多個背景進程(vscode-server
、language server、file watcher 等)。
2GB RAM 很快就被吃光,Linux 的 OOM Killer 會強制終止關鍵系統進程(如 sshd
),導致整台掛掉。
檢查:
dmesg | grep -i "killed process"
free -h
解法:
建立 swap 讓系統有喘息空間:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
VSCode Remote 會大量掃描檔案(.git/
、node_modules/
、log 等),
在 EBS IOPS 有限的情況下容易造成高 I/O wait,整機 lag。
檢查:
sudo apt install sysstat -y
iostat -xz 2
若 %util
長期 > 90%、await
> 100ms,代表磁碟被打爆。
緩解:
在 VSCode 設定關閉檔案監控:
{
"files.watcherExclude": { "**": true },
"search.followSymlinks": false
}
只開啟需要的子資料夾,不要整個 /home/ubuntu
。
類別 | 建議 |
---|---|
短期 | 建立 2GB swap、關閉 VSCode watcher |
長期 | 升級到 t3.medium 或 t4g.medium (4GB RAM) |