Spark中的已用和缓存内存

时间:2018-09-16 18:16:52

标签: apache-spark caching memory

我想知道当我们使用cache / persist方法时,spark是使用linux缓存的内存还是linux使用的内存。

我之所以这样问是因为我有一个习惯,我们发现即使我们有很长的工作,这些机器也只能以50%的已用内存和50%的缓存内存使用。

先谢谢您

1 个答案:

答案 0 :(得分:1)

缓存/缓冲内存是Linux用于磁盘缓存的内存。读取文件时,始终将其读入内存缓存。您可以将缓存内存视为可用内存。 spark executor的JVM进程不直接占用缓存内存。如果您看到机器上仅使用了50%的内存,则意味着spark executor肯定不会占用超过50%的内存。您可以使用topps实用程序来查看spark executor实际需要多少内存。通常,它比当前堆的大小多一点。