Sto usando R 2.15.3 su Ubuntu 12.04 (preciso) a 64 bit. Se corro R in valgrind:My R ha perdite di memoria?
R -d "valgrind" --vanilla
ho quindi uscire dal programma utilizzando q() e ottengo il seguente rapporto:
==7167== HEAP SUMMARY:
==7167== in use at exit: 28,239,464 bytes in 12,512 blocks
==7167== total heap usage: 28,780 allocs, 16,268 frees, 46,316,337 bytes allocated
==7167==
==7167== LEAK SUMMARY:
==7167== definitely lost: 120 bytes in 2 blocks
==7167== indirectly lost: 480 bytes in 20 blocks
==7167== possibly lost: 0 bytes in 0 blocks
==7167== still reachable: 28,238,864 bytes in 12,490 blocks
==7167== suppressed: 0 bytes in 0 blocks
==7167== Rerun with --leak-check=full to see details of leaked memory
==7167==
==7167== For counts of detected and suppressed errors, rerun with: -v
==7167== Use --track-origins=yes to see where uninitialised values come from
==7167== ERROR SUMMARY: 385 errors from 5 contexts (suppressed: 2 from 2)
Ultimamente R si blocca abbastanza spesso, specialmente quando chiamo le funzioni C++ tramite Rcpp, potrebbe essere questo il motivo? Grazie!
Grazie! Ho trovato l'output di valgrind piuttosto confuso. Ho iniziato a dubitare delle perdite perché ho appena chiamato una funzione Rcpp come: NumericMatrix myMat (int nCols, int nRows) { NumericMatrix out (nRows, nCols); ritorno; } causa talvolta l'arresto anomalo di R con segfault se chiamo iterativamente questa funzione in un ciclo R: per (ii in 1: 10^6) mat <- myMat (100, 100) –
Se è possibile riprodurre un segfault e forse gira sotto 'gdb', quindi possiamo migliorare le cose. Altrimenti, è quasi impossibile. –
Hai ragione, se riesco a riprodurre l'errore lo posterò in un'altra domanda. Grazie –