우분투 12.04 (정교함) 64 비트에서 R 2.15.3을 사용하고 있습니다. 내가 Valgrind의에서 R을 실행하는 경우 :내 R에 메모리 누수가 있습니까?
--vanilla
R -d "Valgrind의"나는 다음 Q()를 사용하여 프로그램을 종료하고 난 다음 리포트를 얻을 :
==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)
최근 R 꽤 자주 충돌합니다. 특히 Rcpp를 통해 C++ 함수를 호출하면 이 이유 일 수 있습니까? 감사합니다.
고마워요! 나는 valgrind 산출물이 매우 혼란 스럽다는 것을 알았습니다. 나는 다음과 같은 Rcpp 함수를 호출하기 때문에 누출에 대한 의문이 생기기 시작했습니다. NumericMatrix myMat (int nCols, int nRows) { NumericMatrix out (nRows, nCols); 반납; 이 함수를 R 루프에서 반복적으로 호출하면 segfault에서 R이 충돌하는 경우가 있습니다. (ii in 1 : 10^6) mat <- myMat (100, 100) –
segfault를 재현 할 수있는 경우 , 그리고'gdb'에서 실행될 수 있다면 아마도 개선 될 수 있습니다. 그렇지 않으면 거의 불가능합니다. –
맞습니다. 오류를 재현하면 다른 질문에 게시 할 것입니다. 감사합니다. –