Я использую RStudio x64 на Windows 10 с 16 ГБ ОЗУ. В RStudio не хватает памяти для выделения больших векторов, в данном случае 265 МБ. Я прошел несколько тестов и проверок, чтобы определить проблему:
- Проверка пределов памяти через
memory.limit()
и memory.size()
. Ограничение памяти составляет ~ 16 ГБ, а размер объектов, хранящихся в среде, составляет ~ 5,6 ГБ. - Сборка мусора через
gc()
. Это удаляет около 100 МБ. - Повышенный приоритет rsession.exe и rstudio.exe через диспетчер задач в режиме реального времени.
- Запуск
chkdsk
и диагностика ОЗУ при перезапуске системы. Оба не вернули ошибок.
Но проблема сохраняется. Мне кажется, что R может получить доступ к 16 ГБ ОЗУ (и показывает 16 ГБ, выделенных на мониторе ресурсов), но все равно не может создать большой вектор. Моя главная путаница заключается в следующем: проблема начинает появляться, только если я последовательно запускаю код для нескольких наборов данных, без перезапуска RStudio между ними. Если я перезапущу RStudio, проблема больше не будет отображаться, не для нескольких запусков.
Ошибка должна быть воспроизведена с любым большим выделением вектора R (см., Например, код здесь ). Я предполагаю, что ошибка программная, какая-то утечка памяти, но я не уверен, где или как, или как автоматизировать исправление.
Есть мысли? Что я пропустил?