在同一台机器上,如果jvm设置的内存过大,就会导致其它程序所占用的内存小。比如elasticsearch、kafka,虽然它们都是基于jvm运行的程序(java和scala都是依赖于jvm),但是它们的数据不是放到jvm内存中,而是放到os cache中(操作系统管理的内存区域),避免了jvm垃圾回收的影响(jvm垃圾回收时会停止目前的工作进程)。原理图如下:

  jvm设置分配的内存越大越好吗

如果在同一台机器上同时用了elasticsearch,而jvm分配内存过大,导致os cache的内存小,加载的数据量小,那么elasticsearch搜索的时候无法从os cache中获得数据,进而向磁盘中读取数据,影响了查询效率。

相关文章:

  • 2021-10-21
  • 2021-12-14
  • 2021-11-21
  • 2021-04-19
  • 2021-07-18
  • 2022-12-23
  • 2022-01-27
  • 2022-12-23
猜你喜欢
  • 2021-11-03
  • 2021-06-14
  • 2021-12-14
  • 2021-08-14
  • 2021-06-21
  • 2021-05-17
  • 2022-01-11
相关资源
相似解决方案