我想知道spark使用的是linux缓存内存,还是使用缓存/持久化方法时linux使用的内存。
我之所以问这个问题,是因为我们有一个custer,我们看到,即使我们有很长的作业,机器也只有50%的已用内存和50%的缓存内存。
先谢谢你,
发布于 2018-09-17 15:38:27
缓存/缓冲内存是Linux用于磁盘缓存的内存。当你读取一个文件时,它总是被读入内存缓存。您可以将缓存的内存视为空闲内存。spark executor的JVM进程不直接占用缓存的内存。如果你看到你的机器只使用了50%的内存,这意味着spark executor绝对不会占用超过50%的内存。您可以使用top或ps工具来查看spark executor实际占用了多少内存。通常它会比当前堆的大小稍大一点。
https://stackoverflow.com/questions/52357108
复制相似问题