Я прочитал этот вопрос и ответы SO (R параллельные вычисления и зомби-процессы ), но это, похоже, не совсем подходит для моей ситуации.
У меня есть 4-ядерный MacBook Pro с Mac OS X 10.10.3, R 3.2.0 и RStudio 0.99.441.
Вчера я пробовал пакеты foreach и doParallel (я хочу использовать их в пакете, над которым работаю). Я сделал это:
cl <- makeCluster(14)
registerDoParallel(cl)
a <- 0
ls <- foreach(icount(100)) %dopar% {
b <- a + 1
}
Мне ясно, что не имеет смысла иметь 14 процессов на моей 4-ядерной машине, но программа действительно будет работать на 16-ядерной машине. В этот момент мой компьютер остановился. Я открыл монитор активности и обнаружил 16 (или больше, может быть?) R-процессов. Я попытался принудительно закрыть их из монитора активности - безуспешно. Я закрыл RStudio, и это убило все процессы R. Я снова открыл RStudio, и это перезапустило все процессы R. Я перезагрузил компьютер и перезапустил RStudio, и это перезапустило все процессы R.
Как я могу запустить RStudio без перезапуска всех этих процессов?
РЕДАКТИРОВАТЬ: я забыл упомянуть, что я также пересобрал пакет, над которым работал в то время (все процессы могли быть запущены во время сборки)
РЕДАКТИРОВАТЬ 2: Кроме того, я не могу остановить кластер (cl), потому что cl больше нет в среде... Я закрыл этот сеанс R.
EDIT3: когда я открываю R.app (графический интерфейс R, поставляемый с R) или открываю R в терминале, такой проблемы не возникает. Поэтому я думаю, что это должно быть связано с RStudio.
EDIT4: между открытием RStudio и запуском всех этих нежелательных процессов возникает случайная задержка. От 15 с до 2 мин.
EDIT5: кажется, что процессы запускаются только после того, как я открою проект, из которого они были запущены.
EDIT6: я просматривал файлы .Rproj.user в поисках вещей, которые нужно удалить. Я удалил все файлы (но не каталоги) в ctx, pcs и sdb. Проблема сохраняется.
EDIT7: когда я запускаю killall R в командной строке, он убивает все эти процессы, но когда я перезапускаю RStudio и снова открываю проект, все процессы запускаются снова.
EDIT8: я использовал «killall -s R | wc -l», чтобы обнаружить, что количество процессов R растет и растет, пока проект открыт. Он поднялся до 358, а затем я запустил killall R, потому что мой компьютер издавал страшные звуки.
EDIT9: RStudio в настоящее время полностью непригоден для использования. Каждый раз, когда я «убиваю R», он перезапускает все процессы в течение 15 секунд.
EDIT10: Когда я инициирую сборку, которая также запускает множество процессов R - 109 при последней проверке. Все эти процессы запускаются, когда в сборке указано «подготовка пакета для отложенной загрузки». В этот момент компьютер практически останавливается.
EDIT11: я удалил файл .Rproj (на самом деле просто переместил его в качестве резервной копии) и каталог .Rproj.user. Я использовал «создать проект из каталога» в RStudio. Когда я открываю этот НОВЫЙ проект, я все равно получаю такое же поведение. Что делает RStudio, когда я открываю проект, которого нет нигде в файле .Rproj или каталоге .Rproj.user!? Я потратил целый день на эту одну проблему.... :(
makeCluster(32)
, и (i) мой компьютер не завис (на самом деле код завершился практически мгновенно) и (ii) после перезапуска RStudio процессы R больше не появлялись. - person Roland   schedule 04.06.2015