R не хватает памяти - PullRequest
       112

R не хватает памяти

0 голосов
/ 10 июля 2020

Я запускаю модель микросимуляции цикла в R в Ubuntu 20.04 на машине Xeon с 32 ГБ памяти. Он работает нормально, но через несколько циклов заканчивается память, и я не могу понять, почему. Ни один из объектов не должен увеличиваться в размерах, но что-то поглощается или не освобождает память. Я нашел следующий код, который дает мне выходные данные размеров объектов на каждой итерации общего l oop и выглядит, и все они остаются довольно маленькими (на мой взгляд). В общем l oop.

for (thing in ls()) {
    message(thing)
    print(object.size(get(thing)), units='auto')
}

есть много циклов и функций, что дает эти результаты после 40 циклов. Я бы ожидал, что самым большим объектом будет Pop (полная совокупность), но даже после 100 итераций его размер составляет всего 1,5 ГБ, поэтому я не понимаю, как R пережевывает 32 ГБ памяти.

[1] 40
DailyData 8.4 Kb
daynum 56 bytes
DayNumPotInf 64 bytes
DaySimNum 56 bytes
inds 52.7 Kb
NewRows 1.7 Mb
NumMosOvip 56 bytes
NumNewEggs 64 bytes
OvipositTotal 232 bytes
PDieAct 344 bytes
Pop 18.5 Mb
State 56 bytes
StateTots 344 bytes
StateTotsDia 344 bytes
StateTotsDiaOut 5.5 Kb
thing 112 bytes
Trt 56 bytes

Я гуглил, переполнял стек, даже имел книгу Хэдли Advanced R, но я относительно новичок в этом. Итак, как мне найти виновников, которые вызывают это? Есть ли простые способы, кроме добавления дополнительного барана, чтобы преодолеть это? Я рад, что при необходимости он будет работать немного медленнее, возможно, с использованием пространства подкачки, а не оперативной памяти. Спасибо. Дж.

...