【发布时间】:2018-09-16 18:16:52
【问题描述】:
我想知道spark使用的是linux缓存内存还是我们使用cache/persist方法时linux使用的内存。
我之所以问这个问题是因为我们有一个 custer,并且我们看到这些机器仅在使用 50% 的已用内存和 50% 的缓存内存时使用,即使我们有长时间的作业。
提前谢谢你,
【问题讨论】:
标签: apache-spark caching memory
我想知道spark使用的是linux缓存内存还是我们使用cache/persist方法时linux使用的内存。
我之所以问这个问题是因为我们有一个 custer,并且我们看到这些机器仅在使用 50% 的已用内存和 50% 的缓存内存时使用,即使我们有长时间的作业。
提前谢谢你,
【问题讨论】:
标签: apache-spark caching memory
缓存/缓冲内存是 Linux 用于磁盘缓存的内存。当您读取文件时,它总是被读入内存缓存。您可以将缓存内存视为空闲内存。 spark executor 的 JVM 进程不直接占用缓存内存。如果你看到你的机器上只使用了 50% 的内存,这意味着 spark executor 绝对不会占用超过 50% 的内存。您可以使用 top 或 ps utils 来查看 spark executor 实际占用了多少内存。通常它比当前堆的大小要大一点。
【讨论】: