У меня есть вопрос относительно R и RStudio в моем центре обработки данных Windows Server 2012 R2.
Я подключаюсь к серверу напрямую, и на сервере 128 ГБ ОЗУ. Но когда я запускаю свой R-скрипт, диспетчер задач показывает мне, что R использует только до 2 МБ ОЗУ, а в целом используется 4% ОЗУ всей системы.
У меня установлена текущая версия R и я использую опцию 64-System в RStudio. Когда я проверяю память, memory.limit()
R говорит, что у меня есть 1.759219e+13
памяти, что невозможно. Я не могу изменить ограничение памяти или что-либо еще.
Всякий раз, когда я получаю доступ к R напрямую через Rgui и ввожу строки, R выдает мне следующее
> memory.limit()
[1] 131023
> memory.size()
[1] 31.5
Всякий раз, когда я использую R на моем ноутбуке, он использует около 5 ГБ оперативной памяти. Поэтому мне интересно, что здесь происходит.
Вопросы:
1.) Могу ли я использовать R и RStudio на сервере Windows 2012 (мне кажется, что это нормально, хотя я не нашел много информации по этому поводу в Интернете)
2.) Как выделить R-процессу больше памяти, чтобы вычисления выполнялись быстрее?
Большое спасибо за помощь. Поскольку это мой первый вопрос, дайте мне знать, если вам понадобится дополнительная информация.
Редактировать
Может быть, это поможет объяснить, в чем моя проблема. Почему R-процесс не может получить больше мощности?
Монитор ресурсов и диспетчер задач:
решение1
поэтому я кое-что понял и хочу поделиться этим с вами.
Во-первых, информация о неправильной памяти " memory.limit()
R говорит, что у меня есть 1.759219e+13
" связана с текущей сборкой R. Я откатился на предыдущую версию и ошибка не появилась.
Во-вторых, вполне нормально установить RStudio Desktop-Version на сервере. Единственный недостаток в том, что вам придется входить на свой сервер напрямую/с удаленным управлением рабочим столом. В остальном он работает как обычный рабочий стол с лучшим оборудованием.
В-третьих, по своей природе R разработан для использования только одного ядра для каждого экземпляра R. Очевидно, вы можете либо использовать специальные функции R для одновременных вычислений ( parallel
), либо просто запустить несколько экземпляров R (имея несколько открытых сеансов R), так что каждый сеанс использует другое ядро. С разными открытыми экземплярами R я могу использовать всю свою оперативную память. Вам просто нужно разбить свой код.
Я разместил этот ответ на случай, если у кого-то еще возникнут такие проблемы. Надеюсь, это правильный способ разместить ответ, а не редактировать мой пост. Пожалуйста, дайте мне знать, если я должен это исправить.
Спасибо