J'aimerais déterminer la quantité de RAM utilisée par chacun de mes objets dans mon espace de travail actuel. Y a-t-il un moyen facile de faire ceci?
Réponses
Trop de publicités?1. par la taille de l'objet
pour obtenir l'allocation de mémoire sur un objet-par-objet de base, à l'appel de l'objet.taille() et passe dans l'objet de l'intérêt:
object.size(My_Data_Frame)
(sauf si l'argument passé est une variable, il doit être cité, ou bien enveloppé dans un obtenir de l' appel.)nom de la variable, puis omettre les guillemets,
vous pouvez faire une boucle par le biais de votre espace de noms et d'obtenir la taille de tous les objets, comme:
for (itm in ls()) {
print(formatC(c(itm, object.size(get(itm))),
format="d",
big.mark=",",
width=30),
quote=F)
}
2. par type d'objet
pour obtenir l'utilisation de la mémoire de votre espace de noms, par type d'objet, l'utilisation de la mémoire.profil du (de la)
memory.profile()
NULL symbol pairlist closure environment promise language
1 9434 183964 4125 1359 6963 49425
special builtin char logical integer double complex
173 1562 20652 7383 13212 4137 1
(Il y a une autre fonction, la mémoire.size() mais j'ai entendu et lu qu'il ne semble fonctionner sur Windows. Elle retourne une valeur en MO; afin d'obtenir un max de mémoire utilisée à tout moment de la session, l'utilisation de la mémoire.taille(max=T)).
Vous pouvez essayer la fonction lsos()
de cette question :
R> a <- rnorm(100)
R> b <- LETTERS
R> lsos()
Type Size Rows Columns
b character 1496 26 NA
a numeric 840 100 NA
R>