Какая операционная система дает R больше всего памяти? - PullRequest
2 голосов
/ 21 февраля 2011

До сих пор я использовал R на 32-разрядной машине с Windows XP, в результате чего для R было доступно 2 ГБ доступной памяти (с использованием --max-mem-size=2047M). В недавнем проекте, включающем тесты перестановки (с использованием пакета coin), этого было недостаточно (т. Е. cannot allocate vector of size ...).

Поэтому Я бы хотел запустить R в среде, которая дает мне больше всего памяти . Для этого у меня есть четырехъядерный ПК объемом 4 ГБ (не мой настольный ПК, поэтому я мог немного поиграть с ним и даже использовать его через удаленный рабочий стол).
Какую операционную систему я должен использовать, чтобы использовать больше всего памяти? 64-битная Windows (т.е. 7) или Linux? Если Linux, какой дистрибутив?
До сих пор я вообще не использовал Linux, поэтому простота использования и установки определенно была бы плюсом. Кроме того, до сих пор я использовал Notepadd ++ и NPPtoR, и было бы здорово, если бы я мог остаться с этим тоже. Однако основная доступная память является основной целью.

Ответы [ 5 ]

4 голосов
/ 21 февраля 2011

Я собираюсь рассказать о Windows в этом ответе.Я не знаю ничего существенного о других операционных системах, поэтому я не буду смущаться, не говоря о них.Я не делаю никаких суждений о том, какая из Windows или Linux лучше или хуже другой.

В настоящее время вы всегда хотите использовать 64-битную версию Windows, а не 32-битную.64-битная версия Windows прекрасно работает с 32-битными программами (иногда даже немного быстрее, чем 32-битная версия Windows).Когда вы запускаете 32-битную программу под 64-битной Windows, она может получить доступ к 4 ГБ адресного пространства.Под 32-битной Windows он получает только 2 ГБ адресного пространства.Таким образом, даже если вы придерживаетесь 32-битного R, у вас будет больше места под 64-битной Windows.

Однако в настоящее время существует 64-битная версия R. Это менее зрелая версия, чем 32-битная, ноэто, скорее всего, будет соответствовать вашим потребностям.Возможно, вам придется проверить совместимость пакетов, поскольку некоторые пакеты могут еще не поддерживать 64-битную версию R в Windows.

В 64-битной версии R вы можете столкнуться с падением производительности, поскольку ширина указателя увеличивается вдвое ипоэтому объем памяти больше.Тем не менее, я был бы удивлен, если бы это было вообще важно.

Вы можете установить как 32-, так и 64-битные версии одновременно, но если вы можете выбрать одну версию, я всегда рекомендуюЭто значительно облегчает обслуживание.

Поскольку ваша машина в любом случае имеет только 4 ГБ памяти, использование 64-битной версии R. вероятно, не так уж и велико. 64-битная версия Windows будетчто-то большое, но если вы перейдете и на 64-битную версию R и фактически используете 4 ГБ памяти, то вы, вероятно, увидите много перестановок диска, и ваши вычисления будут длиться вечно.

Наконец,в случае нехватки ресурсов памяти часто можно найти альтернативные способы организации вашего кода, чтобы вы просто полностью избежали этой проблемы.Поскольку у нас нет деталей вашего кода R, мы не можем сказать, так ли это на самом деле, но, возможно, стоит подумать.

3 голосов
/ 21 февраля 2011

Либо GNU / Linux, либо Windows может дать R много памяти, если она доступна в смежной форме.GNU / Linux, вероятно, является лучшим выбором, если у вас нет особой нужды в Windows, а Ubuntu - это то, с чего большинство людей начинают работать в эти дни.

Основным пределом в R является длина одного вектора, которая равна 2 ^ 31 (хотя вы можете иметь списки из нескольких векторов максимальной длины), но для большинства целей этого должно быть достаточно и больше, чем ваши 4 Гб.

2 голосов
/ 22 февраля 2011

Если вы хотите максимально увеличить доступную физическую память, вам следует использовать Linux, поскольку для этого не требуется запускать ненужный графический интерфейс, как, например, в MS Windows.Это не оскорбление против коммерческих приложений, просто практический выбор:)

А также, если вы действительно хотите максимально увеличить объем ОЗУ, выберите минимальную (KISS) систему вместо Ubuntu или используйте Ubuntu Server или с CLI версия .Я бы предпочел Debian или Arch .

Если вы не знакомы с Linux, проверьте простую установку, например, на howtoforge.com и запустите R через R команда в терминале.Кроме того, выберите изображение с amd64 в имени файла для загрузки (64 бит).Удачи!

1 голос
/ 21 февраля 2011

Что касается моего опыта перехода с Windows на Ubuntu, я бы сказал, что Ubuntu - это, вероятно, путь.Я не проводил никаких формальных тестов, но я заметил заметное ускорение в некоторых из моих анализов (обычно с большими наборами данных).Операционная система также намного более стабильна, что является несомненным плюсом, поскольку, по крайней мере, система не падает, если R сталкивается с проблемами.

Если вы все-таки используете Ubuntu, gedit, вероятно, лучший редактор для запускас.Вы можете получить плагин, который откроет окно R под пространством текстового редактора, и оно очень похоже на N ++.Gedit поставляется с предустановленным дистрибутивом.

Ubuntu также чрезвычайно прост в установке - я установил его на две машины (дома и на работе), и у меня никогда не было проблем с ним.И если вы можете использовать R, то вы определенно можете обрабатывать интерфейсы командной строки.

При этом самая последняя версия R, доступная через Ubuntu, - это 2.11.1, поэтому вам нужно будет следовать инструкциям на этой странице, чтобы получить более свежую версию.НТН.

1 голос
/ 21 февраля 2011

Варианты Windows более ограничены в общей физической памяти, распознаваемой ОС, чем Linux (256 ТБ), даже в 64-битном режиме.

http://msdn.microsoft.com/en-us/library/aa366778(v=vs.85).aspx#physical_memory_limits_windows_7

Windows 7 Ultimate 192 ГБ

Windows 7 Enterprise 192 ГБ

Windows 7 Professional 192 ГБ

Windows 7 Home Premium 16 ГБ

Windows 7 Home Basic 8 ГБ

Windows 7 Starter 2 ГБ

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...