Код VS вызывает 17.10, 18.04 случайно и полностью зависает


16

Пожалуйста, прочитайте : см. Последний бит. Я не верю, что это проблема, связанная с Ubuntu, а скорее VS Code.

Недавно, под 17.10 и 18.04 (я только что обновился сегодня), Ubuntu будет случайным образом и полностью зависать. Я не могу переместить курсор или использовать клавиатуру. Естественно, я попытался перейти на сессию TTY безуспешно. Каждый раз я должен прибегать к SysRq+ REISUB, что (очевидно) не является предпочтительным.

Я попытался переключить графические драйверы, полагая, что это может быть так. Первоначально я использовал драйвер nVidia с открытым исходным кодом и переключился на проприетарный безрезультатно. В настоящее время я использую драйвер с открытым исходным кодом.

Все, что я обычно открываю, это Firefox (не тонна загруженных вкладок ) и VS Code, самое большее с парой файлов и открытым терминалом.

Есть идеи?

Обновление: системные журналы не показывают каких- либо событий, не говоря уже о том, что что-то не так. Я не знаю, связано ли это, но иногда (и особенно после загрузки) программы занимают значительное время (> 5-10 секунд), даже программы командной строки.

Еще одно обновление! - Даже если все расширения GNOME отключены, он все равно падает. Я попробовал XFCE, который все еще падал.

Описание : Ubuntu полностью зависает в на первый взгляд случайные моменты времени, не оставляя следов в журналах, и не имеет отношения к какой-либо конкретной среде рабочего стола или расширениям GNOME.

(вероятно, окончательное) обновление: я убежден, что это проблема с VS Code. Я работал с GNOME в течение нескольких дней, когда были открыты другие приложения Electron (Slack, Pulse и т. Д.), И у меня не было ни одного зависания. У меня есть DM'd VS Code в Твиттере, и я, скорее всего, отправлю сообщение об ошибке, так как они еще не ответили.


1
Начните с ваших журналов. Это намного проще, чем копаться в видео драйверах.
user535733

@ user535733 Какой журнал конкретно?
Jhpratt GOFUNDME RELICENSING

Привет jhpratt, у меня работал этот askubuntu.com/a/870235/790920 .
abu_bua

@jhpratt Я предлагаю методично искать ВСЕ ваши журналы в / var / log. Должно быть довольно быстро видно, какие из них актуальны, а какие нет. Вы, конечно, ищете несколько секунд до того, как произойдет замораживание, а не просто утомительно читаете все ... так что это помогает, если вы отслеживаете ТОЧНОЕ время инцидента.
user535733

1
journalctl -b -1 -xeпокажет вам логи в конце предыдущей загрузки. Сколько у вас оперативной памяти? Сколько своп? free;swaponскажу тебе.
Вальтинатор

Ответы:


8

Получается, что это не относится к Ubuntu, но я все равно опубликую это здесь для дальнейшего использования.

Очевидно, что хотя я игнорирую некоторые файлы, используя эту files.excludeнастройку (особенно ./node_modulesкаталог), VS Code все еще следит за этими файлами на предмет изменений.

Чтобы решить эту проблему, просто скопируйте список из files.excludeв files.watcherExclude. Это предотвратит VS Code от поиска во многих тысячах файлов, которые находятся в node_modulesдругих каталогах. Таким образом, для Chrome останется немного оперативной памяти.


Привет, @jhpratt. Эти изменения ты имеешь в виду, чтобы внести изменения в settings.jsonфайл VS Code ?
крианбху

1
@cryanbhu Да, это правильно. Насколько мне известно, эта информация также точна.
Jhpratt GOFUNDME RELICENSING

2
Я вижу, что node_modulesэто под, watcherExcludeно я все еще сталкиваюсь с той же проблемой.
Мухаммед Фейсал

**/.git/objects/**, **/.git/subtree-cache/**И **/node_modules/**по умолчанию включены вfiles.watcherExclude
noraj

3

Я просто столкнулся с этим. При запуске в большом проекте моя система зависает через ~ 20 секунд и перестает отвечать на запросы (Ubuntu 18.04). Запуск htop при запуске VSCode показал, что все ядра заняли 100% (i7-8700K), съел всю память (16 ГБ) и затем произвел обмен. Замораживание произошло мгновениями позже. Это происходило из-за плохого расширения, в моем случае это был CSS Peek.

Поэтому попробуйте запустить vscode с отключенными расширениями (code --disable-extensions) и посмотрите, происходит ли это по-прежнему. Если он не отследит неисправное расширение и отправит его в ад .

У меня случались случайные полные замораживания, и я потратил довольно много часов, пытаясь выяснить, почему. При перезапуске журналы действительно не помогли. Сначала я думал, что это драйвер nvidia, но нет - просто расширение VSCode.


3

Я получил ту же проблему в моем Ubuntu 16.04.

Я отключил git.autorefresh в настройках , тогда он работает без нареканий и плавно


1
Помог мне тоже, спасибо.
ivan.ukr

Этот параметр по умолчанию отключен.
Норадж

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
норадж

1

Я испытал ту же проблему. В конце концов я понял, что в моем случае проблема заключается в нехватке памяти (у меня есть 8 ГБ оперативной памяти и просто 1 ГБ раздел подкачки на диске). Я исправил это, выделив дополнительное пространство подкачки, используя файл в моем корневом каталоге:

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

это временно включит дополнительные 8 ГБ подкачки для вашей системы. Если это поможет, здесь вы можете прочитать дальнейшие инструкции по постоянному включению нового свопа.

Другие варианты: физически добавить оперативную память или добавить / увеличить раздел подкачки.

Я использовал новый своп в качестве файла, потому что у меня есть зашифрованная система luks + lvm, а изменение размера существующего раздела подкачки в моем случае слишком сложно и рискованно.

PS Я получил Ubuntu 18.04


Вероятно, никто не будет тратить время / деньги на увеличение оперативной памяти из-за «текстового редактора».
Matousc

@matousc ну вы правы, и из-за этого это второй вариант. Во-первых, добавить своп
Артем С.

@matousc VS Code - это полноценная среда разработки, а также текстовый редактор.
prooffreader

1

Я также страдал от случайных сбоев системы при запуске VSC. Даже пытался начать без расширений, что мне совсем не помогло. Несколько раз моя система зависала прямо при запуске VSC.

Однако я проверил логи и обнаружил, что эти сбои могут быть связаны с графическим драйвером (NVidia GTX 660).

Решение в моем случае: переход с Nouveau на проприетарный драйвер (я выбрал метапакет)

Кстати: использование Ubuntu 18.04

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.