VS 코드는 17.10, 18.04를 무작위로 완전히 동결시킵니다.


16

읽어보십시오 : 마지막 비트를 참조하십시오. 나는 이것이 우분투와 관련된 문제가 아니라 VS 코드라고 생각합니다.

최근 17.10 18.04 (오늘 방금 업그레이드했습니다)에서 우분투는 무작위로 완전히 동결됩니다. 커서를 움직이거나 키보드를 사용할 수 없습니다. 당연히, 나는 성공하지 않고 TTY 세션으로 전환을 시도했습니다. 매번, 나는 SysRq+에 의지해야한다 REISUB.

나는 그럴지도 모른다는 이론에 따라 그래픽 드라이버를 전환하려고 시도했습니다. 나는 원래 오픈 소스 nVidia 드라이버를 사용하고 있었고 독점으로 전환했다. 현재 오픈 소스 드라이버를 사용하고 있습니다.

내가 일반적으로 열었던 것은 Firefox (많은 탭이 로드 되지 않음 )와 VS 코드이며, 최대 몇 개의 파일과 터미널이 열려 있습니다.

어떤 아이디어?

업데이트 : 시스템 로그의 징후 보여주지 아무것도 모든 해프닝에서을 혼자 뭔가 잘못을 할 수 있습니다. 이것이 관련이 있는지 모르겠지만 때로는 (특히 부팅 후) 프로그램, 심지어 명령 행 프로그램까지 상당한 시간이 걸립니다 (> 5-10 초).

또 다른 업데이트! — 모든 그놈 확장명을 비활성화하더라도 여전히 충돌했습니다. 나는 여전히 추락 한 XFCE를 시도했다.

요약 : 우분투는 무작위로 임의의 시간에 완전히 정지되어 로그에 흔적이 남지 않으며 특정 데스크탑 환경 또는 그놈 확장과 관련이 없습니다.

(아마도 최종) 업데이트 : 이것이 VS 코드의 문제라고 확신합니다. 나는 다른 Electron 앱을 열고 (Slack, Pulse 등) 그놈을 며칠 동안 실행했으며 단일 동결을하지 않았습니다. 트위터에 DM'd VS Code가 있으며 아직 응답하지 않은 버그 보고서를 제출할 것입니다.


1
로그부터 시작하십시오. 비디오 드라이버를 사용하는 것보다 훨씬 쉽습니다.
user535733

@ user535733 구체적으로 어떤 로그?
jhpratt GOFUNDME 라이센스 갱신

안녕하세요 jhpratt, 나를 위해이 askubuntu.com/a/870235/790920 일했습니다 .
abu_bua

@jhpratt / var / log에서 모든 로그를 체계적으로 검색하는 것이 좋습니다. 어느 것이 관련이 있고 어떤 것이 관련이 없는지 분명하게 알 수 있습니다. 물론 모든 것을 정중하게 읽는 것이 아니라 정지가 일어나기 몇 초 전에 검색하는 것이므로 사건의 정확한 시간을 추적하는 데 도움이됩니다.
user535733

1
journalctl -b -1 -xe이전 부팅이 끝나면 로그가 표시됩니다. 당신은 얼마나 많은 RAM을 가지고 있습니까? 스왑은 얼마입니까? free;swapon당신에게 말할 것입니다.
waltinator

답변:


8

우분투에만 국한된 것은 아니지만 나중에 참조 할 수 있도록 여기에 게시하겠습니다.

분명히 files.exclude설정 (특히 ./node_modules디렉토리)을 사용하여 특정 파일을 무시하더라도 VS Code는 여전히 해당 파일의 변경 사항을 감시 합니다.

이를 해결하려면 목록을에서 files.exclude로 복사하십시오 files.watcherExclude. 이렇게하면 VS Code가 node_modules다른 유사한 디렉토리에 있는 수천 개의 파일을 검색하지 못하게됩니다 . 그렇게하면 Chrome이 약간의 RAM을 남길 수 있습니다.


안녕 @ jhpratt 당신이 VS 코드 settings.json파일 에서 변경 사항을 언급하는 이러한 변경 입니까?
cryanbhu

1
@cryanbhu 네, 맞습니다. 내가 아는 한,이 정보는 여전히 정확합니다.
jhpratt GOFUNDME 재 라이센싱

2
나는 그것이 node_modules아래에 있음을 알 수 watcherExclude있지만 여전히 같은 문제에 직면하고 있습니다.
Mohammad Faisal

**/.git/objects/**,, **/.git/subtree-cache/****/node_modules/**기본적으로files.watcherExclude
noraj

3

방금 이것에 부딪쳤다. 큰 프로젝트에서 시작하면 시스템이 ~ 20 초 후에 정지하여 응답하지 않게됩니다 (Ubuntu 18.04). VSCode를 시작하는 동안 htop을 실행하면 모든 코어가 100 % (i7-8700K)가되고 모든 메모리 (16gb)를 먹은 다음 스왑이 수행됩니다. 동결은 잠시 후 일어났다. 이것은 잘못된 확장으로 인해 발생했습니다. 필자의 경우 CSS Peek였습니다.

따라서 확장명을 비활성화하고 (code --disable-extensions) vscode를 시작하고 여전히 발생하는지 확인하십시오. 그것이 잘못된 확장을 추적하지 않으면 그것을 지옥으로 보냅니다 .

나는 무작위로 완전히 얼어 붙었고 그 이유를 찾으려고 꽤 많은 시간을 보냈습니다. 다시 시작하면 로그가 실제로 도움이되지 않았습니다. 나는 처음에는 그것이 NVIDIA 드라이버라고 생각했지만 VSCode 확장은 아닙니다.


3

우분투 16.04에서도 같은 문제가 발생했습니다.

설정 에서 git.autorefresh 를 끄고 완벽하고 부드럽게 작동합니다.


1
고마워요.
ivan.ukr 1

이 매개 변수는 기본적으로 비활성화되어 있습니다.
noraj

2

나는 같은 문제가 있었다. 특정 프로젝트에 대해이 문제를 해결하려면 .vscode/settings.json다음과 같이 업데이트하십시오 .

{
  "python.pythonPath": "/usr/bin/python3",
  "files.exclude": {
    "**/.git": true,
    "**/.svn": true,
    "**/.hg": true,
    "**/CVS": true,
    "**/.DS_Store": true,
    "**/node_modules": true,
    "**/.firebase": true
  },
  "files.watcherExclude": {
    "**/.git/objects/**": true,
    "**/.git/subtree-cache/**": true,
    "**/node_modules/**": true
  }
}

1
이 3 files.watcherExclude은 코드 1.42.1
noraj

1

같은 문제가 발생했습니다. 결국 내 경우에는 문제가 메모리가 부족하다는 것을 알았습니다 (디스크에 8GB 램과 1GB 스왑 파티션이 있음). 루트 디렉토리의 파일을 사용하여 추가 스왑 공간을 할당 하여이 문제를 해결했습니다.

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

이렇게하면 시스템에 8GB의 추가 스왑이 일시적으로 활성화됩니다. 도움이 될 경우 여기에서 새로운 스왑을 지속적으로 활성화하기위한 추가 지침을 읽을 수 있습니다.

또 다른 옵션은 물리적으로 RAM 추가 또는 스왑 파티션 추가 / 확대입니다.

luks + lvm 암호화 시스템을 가지고 있고 기존 스왑 파티션의 크기를 조정하는 것이 너무 복잡하고 위험하기 때문에 새 스왑을 파일로 사용했습니다.

추신 : 나는 우분투 18.04를 얻었다


"텍스트 편집기"로 인해 RAM을 늘리는 데 시간과 돈을 투자하는 사람은 없을 것입니다.
matousc

@ matousc 당신이 옳고, 그 때문에 두 번째 옵션입니다. 우선 스왑을 추가하는 것입니다
Artem S.

@matousc VS Code는 본격적인 IDE 및 텍스트 편집기입니다.
prooffreader

1

VSC를 실행할 때 임의 시스템 충돌로 어려움을 겪었습니다. 확장명없이 시작하려고했지만 전혀 도움이되지 않았습니다. VSC 시작시 시스템이 몇 번 멈췄습니다.

그러나 로그를 확인한 결과 이러한 충돌이 그래픽 드라이버 (NVidia GTX 660)와 관련이있을 수 있습니다.

내 경우의 해결책 : Nouveau에서 독점 드라이버로 전환 (메타 패키지를 선택했습니다)

Btw : 우분투 18.04 사용

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.