是否可以監視正在使用或已被R用來調用某個函數的內存量?例如,我有一個任意函數,e.g:監視R中的內存使用情況
smallest.sv <- function(){
A <- matrix(rnorm(1e6), 1e3);
mysvd <- svd(A);
return(tail(mysvd$d, 1));
}
運行函數返回一個標量,而是使用了大量的內存來計算功能。現在我需要做性能基準測試。處理時間很簡單:
system.time(x <- smallest.sv())
不過,我也想知道有多少內存需要此調用,無需修改功能(它應該任意函數工作)。有沒有辦法做到這一點?
編輯:澄清一下。我最感興趣的是函數調用期間使用的內存上限,即需要多少物理內存來處理函數調用。在很多情況下,這大大低於我認爲分配的內存總量。
嗨Jeroen。你解決了這個問題嗎?你的解決方案是什麼?我也面臨這個問題。我希望監視函數調用期間使用的內存上限。 –
看看profvis:https://github.com/rstudio/profvis – Jeroen
謝謝,Jerson。我之前確實檢查過。但在我看來,軟件包僅用於分析代碼使用的時間。我沒有看到內存監控的功能。我在這裏錯過了什麼嗎?或者你能給我更多提示嗎? –