2010-09-16 7 views
2

Je suis un peu confus sur le point suivant: Je cours R sur Windows 32 bits. Ma compréhension est que je devrais pouvoir allouer jusqu'à 2GB. Je lis par help("Memory") et a lancé ma session R avec le drapeau RGui.exe --max-mem-size=1000M. Ensuite, confirmé dans les R:Allouer un objet plus grand dans R?

> memory.limit() 
[1] 1000 

Mais quand je lance une opération particulière, je reçois un message d'erreur qui dit quelque chose comme « ne peut pas affecter l'objet de la taille de 512 Mo ».

Est-ce que je fais quelque chose de mal?

Répondre

4

Le message d'erreur ne signifie pas que vous disposez de 512 Mo de mémoire disponible. Vous avez toujours une limite de 1000 Mo, mais au moins 488 est utilisé et pour certaines opérations R nécessite 512 Mo qui n'est pas disponible, donc il ne peut pas allouer certains objets.

Si vous suivez la mémoire utilisée par le processus R (par exemple avec Process Explorer), vous verrez alors comment R atteint 1000 Mo et votre message apparaît.

2

Essayez aussi d'ajouter le drapeau --max-mem-size=1000M

Notez également que sur un 32 bits y construire suffisamment de mémoire libre peut bien être disponible, mais pas un assez grand bloc contigu d'espace d'adressage dans lequel la carte elle.

+0

Désolé @ gd047! Je voulais dire --max-mem-size ... – griffin

Questions connexes