Mem_used() сообщает о нереалистичном использовании памяти
Я запускаю сценарий на кластере HPC, используя 256 ГБ оперативной памяти, и у меня есть файл CSV 42 ГБ, который я читаю в R в качестве кадра данных. Но когда я это делаю, программа говорит, что использует 148 000 000 ТБ памяти, что совершенно нереально.
Я запускаю r/3.5.0 с использованием функций mem_used() и object_size() пакета pryr для мониторинга использования памяти во время работы программы.
>library(data.table)
>library(pryr)
>mem_used()
27.1 MB
>myData <- fread("myData.csv")
>object_size(myData)
35.4 GB
>mem_used()
148,000,000 TB
Программа продолжает работать некоторое время, делая некоторые манипуляции, но в конечном итоге останавливается из-за чрезмерного использования памяти.
Все время продолжаю сообщать, что используется 148 000 000 ТБ памяти.
Кто-нибудь из вас испытывал это или знает, что может происходить?
Я хотел бы иметь возможность оценить фактическое использование памяти программы.
Спасибо
редактировать: вот sessionInfo():
> sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS: /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx2/Compiler/intel2016.4/r/3.5.0/lib64/R/lib/libR.so
LAPACK: /cvmfs/soft.computecanada.ca/easybuild/software/2017/avx2/Compiler/intel2016.4/r/3.5.0/lib64/R/modules/lapack.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] pryr_0.1.4 data.table_1.11.8
loaded via a namespace (and not attached):
[1] compiler_3.5.0 magrittr_1.5 tools_3.5.0 Rcpp_1.0.0
[5] stringi_1.2.4 codetools_0.2-15 stringr_1.3.1