O código VS faz com que 17.10, 18.04 congele aleatoriamente e completamente

16

Por favor, leia : Veja o último bit. Eu não acredito que este seja um problema relacionado ao Ubuntu, mas sim ao VS Code.

Recentemente, sob 17.10 e 18.04 (acabei de atualizar hoje), o Ubuntu congelará aleatoriamente e completamente. Não consigo mover o cursor nem usar o teclado. Naturalmente, tentei mudar para uma sessão TTY sem sucesso. Toda vez, devo recorrer ao SysRq+ REISUB, que (obviamente) não é o preferido.

Eu tentei mudar os drivers gráficos, na teoria de que pode ser isso. Eu estava originalmente usando o driver nVidia de código aberto e mudei para o proprietário sem sucesso. Atualmente, estou usando o driver de código aberto.

Tudo o que normalmente abro é o Firefox (não há uma tonelada de guias carregadas ) e o VS Code, com no máximo alguns arquivos e um terminal aberto.

Alguma ideia?

Atualização: Os logs do sistema não mostram nenhuma indicação de que algo está acontecendo, muito menos algo errado. Não sei se isso está relacionado, mas às vezes (e principalmente após a inicialização) dos programas leva um tempo significativo (> 5 a 10 segundos), até mesmo nos programas de linha de comando.

Mais uma atualização! - Mesmo com todas as extensões do GNOME desativadas, ele ainda travava. Eu tentei o XFCE, que ainda travava.

Resumo : O Ubuntu congela completamente em momentos aparentemente aleatórios, sem deixar rastros nos logs, e não está relacionado a nenhum ambiente de desktop específico ou extensões do GNOME.

(provável final) atualização: estou convencido de que esse é um problema com o VS Code. Estou executando o GNOME há dias, com outros aplicativos Electron abertos (Slack, Pulse, etc.) e não tive um único congelamento. Eu tenho o código VS do DM no Twitter e provavelmente apresentarei um relatório de erro, pois eles ainda não responderam.

jhpratt GOFUNDME RELICENSING
fonte
1
Comece com seus logs. Isso é muito mais fácil do que mexer com drivers de vídeo.
user535733
@ user535733 Qual log especificamente?
jhpratt GOFUNDME RELICENSING
Oi jhpratt, para mim trabalhou este askubuntu.com/a/870235/790920 .
Abu_bua
@jhpratt Sugiro pesquisar metodicamente TODOS os seus logs em / var / log. Deve ficar claro rapidamente quais são relevantes e quais não. Você está, é claro, pesquisando alguns segundos antes de ocorrer um congelamento, e não apenas lendo tudo tediosamente ... portanto, ajuda se você acompanhar o tempo EXATO de um incidente.
user535733
1
journalctl -b -1 -xemostrará os logs no final da inicialização anterior. Quanta RAM você tem? Quanto swap? free;swaponvou te dizer.
waltinator

Respostas:

8

Acontece que isso não é específico do Ubuntu, mas postarei aqui de qualquer maneira para referência futura.

Aparentemente, embora eu esteja ignorando certos arquivos usando a files.excludeconfiguração (principalmente o ./node_modulesdiretório), o VS Code ainda observa esses arquivos em busca de alterações.

Para resolver isso, basta copiar a lista de files.excludepara files.watcherExclude. Isso impedirá que o VS Code procure em muitos milhares de arquivos que estão em node_modulesou em outros diretórios semelhantes. Dessa forma, ele deixará um pouco de RAM para o Chrome devorar.

jhpratt GOFUNDME RELICENSING
fonte
oi @jhpratt, essas mudanças estão sendo feitas no settings.jsonarquivo do VS Code ?
cryanbhu
1
@cryanbhu Sim, está correto. Que eu saiba, essas informações também são precisas.
jhpratt GOFUNDME relicenciando
2
Percebo que node_modulesestá abaixo, watcherExcludemas ainda estou enfrentando o mesmo problema.
Mohammad Faisal
3

Eu acabei de encontrar isso. Após o lançamento, em um grande projeto, meu sistema congelava após ~ 20 segundos e deixava de responder (Ubuntu 18.04). A execução do htop durante o lançamento do VSCode mostrou que levou todos os núcleos a 100% (i7-8700K), consumiu toda a memória (16gb) e depois a troca. O congelamento aconteceu momentos depois. Isso estava acontecendo por causa de uma extensão ruim, no meu caso, era CSS Peek.

Portanto, tente iniciar o vscode com as extensões desativadas (código --disable-extensions) e veja se isso ainda acontece. Se não localizar a extensão defeituosa e enviá-la para o inferno .

Eu tive congelamentos aleatórios e passei algumas horas tentando descobrir o porquê. Na reinicialização, os logs não foram realmente úteis. Inicialmente, pensei que era o driver da nvidia, mas não - apenas uma extensão do VSCode.

neculaesei
fonte
3

Eu tenho o mesmo problema no meu Ubuntu 16.04.

Desliguei o git.autorefresh nas Configurações , depois ele funciona perfeitamente e sem problemas

Kumar Immanuel
fonte
1
Também me ajudou, obrigado.
ivan.ukr
2

Eu tive o mesmo problema. Para corrigir isso em um projeto específico, você deve atualizar o arquivo .vscode/settings.jsonpara algo assim:

{
  "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
  }
}
Rudolf Olah
fonte
1

Eu experimentei o mesmo problema. Eventualmente, percebi que, no meu caso, o problema está ficando sem memória (tenho 8 GB de RAM e apenas 1 GB de partição de swap no disco). Corrigi isso alocando espaço de troca adicional usando o arquivo no meu diretório raiz:

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

isso permitirá temporariamente 8 GB de troca adicionais para o seu sistema. Se ajudar, aqui você pode ler mais instruções para ativar o novo swap constantemente.

Outras opções são: adicionar RAM fisicamente ou adicionar / ampliar partição de troca.

Eu usei o novo swap como um arquivo porque obtive o sistema criptografado luks + lvm e o redimensionamento da partição de swap existente é muito complicado e arriscado no meu caso.

PS Eu tenho o Ubuntu 18.04

Artem S.
fonte
Provavelmente ninguém gastará tempo / dinheiro aumentando a RAM por causa de um "editor de texto".
matousc 12/09/18
@matousc bem, você está certo, e por isso é uma segunda opção. Primeiro é adicionar swap
Artem S.
O @matousc VS Code é um IDE completo e também um editor de texto.
prooffreader
1

Também sofri falhas aleatórias no sistema ao executar o VSC. Até tentei começar sem extensões, o que não me ajudou em nada. Algumas vezes meu sistema congelou na inicialização do VSC.

No entanto, verifiquei os logs e descobri que essas falhas podem estar relacionadas ao driver gráfico (NVidia GTX 660).

Solução no meu caso: Mudando do Nouveau para o driver proprietário (eu escolhi o metapacote)

Btw: Usando o Ubuntu 18.04

gordon
fonte