Ошибка «Невозможно выделить вектор размером xxx mb», кажется, ничего не исправить - PullRequest
0 голосов
/ 24 февраля 2020

Я использую RStudio x64 на Windows 10 с 16 ГБ ОЗУ. В RStudio не хватает памяти для выделения больших векторов, в данном случае 265 МБ. Я прошел несколько тестов и проверок, чтобы определить проблему:

  1. Проверка пределов памяти через memory.limit() и memory.size(). Ограничение памяти составляет ~ 16 ГБ, а размер объектов, хранящихся в среде, составляет ~ 5,6 ГБ.
  2. Сборка мусора через gc(). Это удаляет около 100 МБ.
  3. Повышенный приоритет rsession.exe и rstudio.exe через диспетчер задач в режиме реального времени.
  4. Запуск chkdsk и диагностика ОЗУ при перезапуске системы. Оба не вернули ошибок.

Но проблема сохраняется. Мне кажется, что R может получить доступ к 16 ГБ ОЗУ (и показывает 16 ГБ, выделенных на мониторе ресурсов), но все равно не может создать большой вектор. Моя главная путаница заключается в следующем: проблема начинает появляться, только если я последовательно запускаю код для нескольких наборов данных, без перезапуска RStudio между ними. Если я перезапущу RStudio, проблема больше не будет отображаться, не для нескольких запусков.

Ошибка должна быть воспроизведена с любым большим выделением вектора R (см., Например, код здесь ). Я предполагаю, что ошибка программная, какая-то утечка памяти, но я не уверен, где или как, или как автоматизировать исправление.

Есть мысли? Что я пропустил?

...