문제 파악
AWS EC2 서버에 있는 문서를 변경하려는데 vim이나 nano로 하기 싫어서 vscode의 remote-ssh를 이용해 연결해서 사용했다.
사용하다가 다른 걸 처리하고 있던 중에 갑자기 연결이 끊겼는데 이 때는 신경쓰지 않고 있었다.
나중에 다른걸 처리하고나서 터미널로도 열어둔 ssh 연결도 끊긴 것을 보고 설마하는 생각에 EC2 서버 상태를 봤다.
왓???
처음엔 이걸보고 '내가 뭘 했다고?' 하는 생각이 들었다.
곧 바로 vscode로 ssh 열어놓은 것 말고는 이전과 다를게 없었기에 이것을 의심하고 알아보기 시작했다.
혹시나 다시 vscode로 연결해보니 순식간에 CPU 사용률이 90%대로 치솟았다.
또 먹통이 되어 모니터링해보니 역시나...
서버에 다시 연결하고 있던 터미널마저 난죽택
이로써 vscode가 문제라는 것이 확실해졌다.
검색해보니 역시나 이미 알려진 문제였다.
git repository의 issue에도 해당 문제들이 언급되어 있었다.
깔아둔 extension중 일부가 문제를 일으키는 것이라 한다.
issue를 읽어보던 중 해결했다는 내용을 보고 적용해봤다.
Remote VSCode over SSH crashes EC2 instance · Issue #2692 · microsoft/vscode-remote-release
Issue Type: Bug I've been attempting to use the new remote VSCode feature to work with a project stored on an AWS EC2 instance. Each time I use it, it works fine for a few hours. Eventually, th...
github.com
해당 내용을 보면 typescript의 무언가를 바꾸는데 나도 typescript를 쓰고 있었기 때문에 '이거다' 라고 생각했다.
해결 방법
extension 실행 문제
대부분 extension이 실행되며 발생하는 문제라고 한다.
issue에서 말하는 해결 방법은 CPU 사용률을 높이는 extension을 원격이 아닌 로컬에서 실행시키도록 하는 방법이라고 한다.
extension 검색창에서 '@builtin' 으로 검색하여 나오는 extension들 중 의심가는 것을 오른쪽 클릭하여 Copy Extension ID를 누른다.
복사해두고 vscode의 settings.json에 특정 내용을 입력해야하므로 먼저 해당 파일을 열어야 한다.
command + shift + p를 눌러 나오는 검색 창에 아래와 같이 settings를 입력하여 나오는 Preferences: Open User Settings (JSON) 을 눌러 settings.json을 열면 된다.
내 경우엔 id가 vscode.typescript-language-features인 extension이 문제였으므로 아래와 같이 입력했다.
"remote.extensionKind": {
"vscode.typescript-language-features": "ui",
}
입력한 후 vscode로 ssh 연결을 해보니 연결을 시작하는 시점에만 아래와 같이 사용률이 올라갔다가 바로 내려가는 것을 확인했다.
위 설정을 해도 CPU 사용률이 높다면 아래의 설정을 한 후에 문제가 해결되었다는 글을 보았으므로 어떤 것인지 알아본 뒤에 해보는 것도 좋을 것 같다.
"search.followSymlinks": false
내 경우엔 위 설정을 해도 바뀌는 점은 없었다.
참고
Remote VSCode over SSH crashes EC2 instance · Issue #2692 · microsoft/vscode-remote-release
Issue Type: Bug I've been attempting to use the new remote VSCode feature to work with a project stored on an AWS EC2 instance. Each time I use it, it works fine for a few hours. Eventually, th...
github.com
'Server' 카테고리의 다른 글
[AWS] ACM 인증서 발급 (Route 53, 가비아) (0) | 2023.03.25 |
---|---|
[SSL][Certbot] Invalid response from http://my_domain/.well-known/acme-challenge/value: 404 (0) | 2023.03.24 |
[SSL][Certbot] Fetching http://my_domain/.well-known/acme-challenge/value LbJM: Connection refused Connection refused (0) | 2023.03.24 |
xvda? (0) | 2023.03.24 |