How to clean up R memory without the need to restart R session












2















I know there are plenty of similar questions with accepted answer (here, here or even this), but so far nowhere I found a clear answer on how to free some memory space without restarting your R session.



I know, one could save his workspace, restart R and load back the workspace but:




  1. I am not sure, but doing so you will have to load back all the libraries right?

  2. If your workspace is huge, it may take time to do so, and if I do that quite often I don't want to loose time each time I do it.

  3. If I delete a big object, isn't just a normal behavior to actually release the memory this object was occupying?


This doesn't seem to be the case. Even after removing half of the biggest objects of my workspace (thanks to this great answer) and after running gc(), top still gives me the exact same % of memory used.



Here in a comment it says:




R's garbage collection "marks" the RAM as available. Up to your OS to
reclaim that




Sounds ok but not sure this really happen. top still shows me the same amount of memory used by R even after rm() and gc(), and even after starting new other process in the os, and even after 2h, 10h or 3 days.



This comment suggest that it has to see with loaded libraries and graphic devices, but why? and how I can solve it?



If I rm() a 3GB object and then use gc() to free the memory, how is it possible that R still use the same percentage of memory?










share|improve this question

























  • I still haven't any rational explenation for that. I saw the option reset=TRUE in gc(), sometime it helps to actually free the memory but sometime not. I realize that if I do rm(object) and gc() right after the generation of the big object it works, but if I do other things in-between no, though I am not sure what are the exact things that make the rm() useless

    – Simon C.
    Nov 28 '18 at 16:33
















2















I know there are plenty of similar questions with accepted answer (here, here or even this), but so far nowhere I found a clear answer on how to free some memory space without restarting your R session.



I know, one could save his workspace, restart R and load back the workspace but:




  1. I am not sure, but doing so you will have to load back all the libraries right?

  2. If your workspace is huge, it may take time to do so, and if I do that quite often I don't want to loose time each time I do it.

  3. If I delete a big object, isn't just a normal behavior to actually release the memory this object was occupying?


This doesn't seem to be the case. Even after removing half of the biggest objects of my workspace (thanks to this great answer) and after running gc(), top still gives me the exact same % of memory used.



Here in a comment it says:




R's garbage collection "marks" the RAM as available. Up to your OS to
reclaim that




Sounds ok but not sure this really happen. top still shows me the same amount of memory used by R even after rm() and gc(), and even after starting new other process in the os, and even after 2h, 10h or 3 days.



This comment suggest that it has to see with loaded libraries and graphic devices, but why? and how I can solve it?



If I rm() a 3GB object and then use gc() to free the memory, how is it possible that R still use the same percentage of memory?










share|improve this question

























  • I still haven't any rational explenation for that. I saw the option reset=TRUE in gc(), sometime it helps to actually free the memory but sometime not. I realize that if I do rm(object) and gc() right after the generation of the big object it works, but if I do other things in-between no, though I am not sure what are the exact things that make the rm() useless

    – Simon C.
    Nov 28 '18 at 16:33














2












2








2








I know there are plenty of similar questions with accepted answer (here, here or even this), but so far nowhere I found a clear answer on how to free some memory space without restarting your R session.



I know, one could save his workspace, restart R and load back the workspace but:




  1. I am not sure, but doing so you will have to load back all the libraries right?

  2. If your workspace is huge, it may take time to do so, and if I do that quite often I don't want to loose time each time I do it.

  3. If I delete a big object, isn't just a normal behavior to actually release the memory this object was occupying?


This doesn't seem to be the case. Even after removing half of the biggest objects of my workspace (thanks to this great answer) and after running gc(), top still gives me the exact same % of memory used.



Here in a comment it says:




R's garbage collection "marks" the RAM as available. Up to your OS to
reclaim that




Sounds ok but not sure this really happen. top still shows me the same amount of memory used by R even after rm() and gc(), and even after starting new other process in the os, and even after 2h, 10h or 3 days.



This comment suggest that it has to see with loaded libraries and graphic devices, but why? and how I can solve it?



If I rm() a 3GB object and then use gc() to free the memory, how is it possible that R still use the same percentage of memory?










share|improve this question
















I know there are plenty of similar questions with accepted answer (here, here or even this), but so far nowhere I found a clear answer on how to free some memory space without restarting your R session.



I know, one could save his workspace, restart R and load back the workspace but:




  1. I am not sure, but doing so you will have to load back all the libraries right?

  2. If your workspace is huge, it may take time to do so, and if I do that quite often I don't want to loose time each time I do it.

  3. If I delete a big object, isn't just a normal behavior to actually release the memory this object was occupying?


This doesn't seem to be the case. Even after removing half of the biggest objects of my workspace (thanks to this great answer) and after running gc(), top still gives me the exact same % of memory used.



Here in a comment it says:




R's garbage collection "marks" the RAM as available. Up to your OS to
reclaim that




Sounds ok but not sure this really happen. top still shows me the same amount of memory used by R even after rm() and gc(), and even after starting new other process in the os, and even after 2h, 10h or 3 days.



This comment suggest that it has to see with loaded libraries and graphic devices, but why? and how I can solve it?



If I rm() a 3GB object and then use gc() to free the memory, how is it possible that R still use the same percentage of memory?







r memory garbage-collection






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 28 '18 at 16:29







Simon C.

















asked Nov 16 '18 at 8:15









Simon C.Simon C.

446420




446420













  • I still haven't any rational explenation for that. I saw the option reset=TRUE in gc(), sometime it helps to actually free the memory but sometime not. I realize that if I do rm(object) and gc() right after the generation of the big object it works, but if I do other things in-between no, though I am not sure what are the exact things that make the rm() useless

    – Simon C.
    Nov 28 '18 at 16:33



















  • I still haven't any rational explenation for that. I saw the option reset=TRUE in gc(), sometime it helps to actually free the memory but sometime not. I realize that if I do rm(object) and gc() right after the generation of the big object it works, but if I do other things in-between no, though I am not sure what are the exact things that make the rm() useless

    – Simon C.
    Nov 28 '18 at 16:33

















I still haven't any rational explenation for that. I saw the option reset=TRUE in gc(), sometime it helps to actually free the memory but sometime not. I realize that if I do rm(object) and gc() right after the generation of the big object it works, but if I do other things in-between no, though I am not sure what are the exact things that make the rm() useless

– Simon C.
Nov 28 '18 at 16:33





I still haven't any rational explenation for that. I saw the option reset=TRUE in gc(), sometime it helps to actually free the memory but sometime not. I realize that if I do rm(object) and gc() right after the generation of the big object it works, but if I do other things in-between no, though I am not sure what are the exact things that make the rm() useless

– Simon C.
Nov 28 '18 at 16:33












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53333858%2fhow-to-clean-up-r-memory-without-the-need-to-restart-r-session%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53333858%2fhow-to-clean-up-r-memory-without-the-need-to-restart-r-session%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

List item for chat from Array inside array React Native

Thiostrepton

Caerphilly