iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0

近期開發時我的EC2 t3.small 用 VSCode Remote SSH 時常會造成機器不穩定,不只是SSH斷連,連用AWS的Session Manager都連不進去。正常使用時容器與交易程式都運作順利,但只要用 VSCode Remote SSH 開啟資料夾,整台機器就會開始變慢、斷線,甚至連 AWS Session Manager 都登不進去。

根本原因:記憶體與 I/O 過載

🧠 記憶體不足(Out-of-Memory)

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

💽 I/O 過載

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.mediumt4g.medium(4GB RAM)

上一篇
Day 27 - EC2有時候連不進去,但網頁還能打開
系列文
從零開始:AWS 部署 Python 自動交易程式與交易監測 Dashboard 實戰筆記28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言