Искам да започна R с аргументи R --min-nsize=8000000 --min-vsize=2048M
min-nsize
- Това е минималният брой "възли". Всеки R обект е възел, така че списък от 1 000 000 низа ще използва 1 000 000 възла. Не искаме да оставаме без възли, ако можем да го избегнем.
min_vsize
- Размерът на купчината (или в B, K, M или G). Обикновено този лимит е ударен след ограничението на възела, така че си струва да експериментирате с него.
Мога ли да получа достъп до тези аргументи в рамките на сесията (като с options()
) и мога ли да го нулирам в рамките на сесията.
Отговори:
1 за отговор № 1Съмнявам се, че R ще включи промени в тези стойности след стартиране на сесията, но можете да опитате да промените съответните променливи на средата R_NSIZE
и R_VSIZE
.
Това каза, изглежда, че не разбирате какво е товааргументи правят. Те задават само началните стойности (и долната граница) за задействане на събирането на боклука. Те нямат нищо общо с "свършването на възлите".
Ако се опитвате да контролирате използването на паметта, трябва да следвате съветите в ?memory.limit
:
За да ограничите използването на памет на Unix-подобно, използвайте съоръженията на черупка, използвана за стартиране на R, напр. "ограничение" или "ограничение".
Ако се опитвате да контролирате събирача на боклук, R_GC_MEM_GROW
envrionment променлива вероятно би била по-полезна. Както пише в ?Memory
:
Стратегията, използвана за растеж, може да бъде определена отзадаване на променлива на средата "R_GC_MEM_GROW" до целочислена стойност между 0 и 3. Тази променлива се чете при стартиране. По-високите стойности растат купчината по-агресивно, като по този начин намаляват времето за събиране на боклука, но използвайки повече памет.