R:什么替代了memory.limit()函数?

3

我最近在三年之后升级了最新的Windows版R。我发现memory.limit()函数现在已经过时了[不知道为什么; 它一直对我很有效]。目前,在Windows 10机器上从R内部确定RAM数量的首选方法是什么?

1个回答

2
您可以调用系统命令。
system('wmic MEMORYCHIP get BankLabel, DeviceLocator, Capacity, Speed')
# BankLabel  Capacity    DeviceLocator  Speed  
# None       4160749568  M0                    
# None       4227858432  M1                    
# 
# [1] 0

同样适用于Linux操作系统。
system('free -h')
#                total        used        free      shared  buff/cache   available
# Mem:            31Gi       6.5Gi        17Gi       466Mi       6.9Gi        23Gi
# Swap:          2.0Gi          0B       2.0Gi

要将值存储在对象中,请使用intern=TRUE

s <- system('free -h', intern=TRUE)
s
# [1] "               total        used        free      shared  buff/cache   available"
# [2] "Mem:            31Gi       5.9Gi        18Gi       332Mi       6.7Gi        24Gi"
# [3] "Swap:          2.0Gi          0B       2.0Gi"                                    

在Windows上:

system('wmic MEMORYCHIP get BankLabel, DeviceLocator, Capacity, Speed', intern=TRUE)

system()命令可以在屏幕上打印信息,但它无法返回我可以在程序中使用的任何内容。我需要一个程序能够访问总内存。 - Argent
@Argent 使用 intern=TRUE,请查看更新。 - jay.sf
是的,Jay,看起来应该可以工作。 - Argent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接