你如何在Ruby中找到机器上的物理内存?

Gui*_*oté 7 ruby memory

我想知道系统上有多少物理内存可用,不包括任何交换.有没有一种方法可以在Ruby中获取此信息?

Ris*_*ogi 10

如果您使用的是Linux,通常使用"free"命令查找物理内存,即系统上的RAM详细信息

 output = %x(free)

输出看起来会像下面的字符串

" total used free shared buffers cached\nMem: 251308 201500 49808 0 3456 48508\n-/+ buffers/cache: 149536 101772\nSwap: 524284 88612 435672\n"

您可以使用简单的字符串操作来提取所需的信息

output.split(" ")[7]会给总内存 output.split(" ")[8]会给用过的内存 output.split(" ")[9]会给出空闲内存


Pet*_*eck 5

AndrewKS 的答案的稍微圆滑的版本:

total_memory_usage_in_k = `ps -Ao rss=`.split.map(&:to_i).inject(&:+)
Run Code Online (Sandbox Code Playgroud)