服务器物理内存总是九十几,Solr总是使用超过90%的物理内存(Solr always use more than 90% of physical memory)...

Solr总是使用超过90%的物理内存(Solr always use more than 90% of physical memory)

我在solr索引中存储了300000个文档。 并使用4GB RAM作为solr服务器。 但它消耗超过90%的物理内存。 所以我把我的数据转移到一台有16 GB RAM的新服务器上。 再次solr消耗超过90%的内存。 我不知道如何解决这个问题。 我使用了默认的MMapDirectory和solr版本4.2.0。 请解释一下,如果您有任何解决方案或原因。

I have 300000 documents stored in solr index. And used 4GB RAM for solr server. But It consumes more than 90% of physical memory. So I moved to my data to a new server which has 16 GB RAM. Again solr consumes more than 90% memory. I don't know how to resolve this issue. I used default MMapDirectory and solr version 4.2.0. Explain me if you have any solution or the reason for this.

原文:https://stackoverflow.com/questions/22149296

更新时间:2019-11-05 12:05

最满意答案

MMapDirectory尝试尽可能多地使用操作系统内存(OS Cache),这是正常行为,它会尝试将整个索引加载到内存中(如果可用)。 事实上,这是一件好事。 由于这些内存是可用的,它会尝试使用它。 如果同一台计算机上的另一个应用程序需要更多,则操作系统将为其释放它。 这就是为什么Solr / Lucene的查询速度快一个数量级的原因,因为大多数调用服务器的内存都是以内存(取决于内存大小)而不是磁盘。

JVM内存是不同的东西,它可以被控制,只有正在运行的查询响应对象和某些缓存项使用JVM内存。 所以JVM的大小可以根据数字请求和缓存条目进行配置。

MMapDirectory tries to use the OS memory (OS Cache) to the full as much as possible this is normal behaviour, it will try to load the entire index into memory if available. In fact, it is a good thing. Since these memory is available it will try to use it. If another application in the same machine demands more, OS will release it for it. This is one the reason why Solr/Lucene the queries are order of magnitude fast, as most of the call to server ends up memory (depending on the size memory) rather than disk.

JVM memory is a different thing, it can be controlled, only working query response objects and certain cache entries use JVM memory. So JVM size can be configured based on number request and cache entries.

相关问答

MMapDirectory尝试尽可能多地使用操作系统内存(OS Cache),这是正常行为,它会尝试将整个索引加载到内存中(如果可用)。 事实上,这是一件好事。 由于这些内存是可用的,它会尝试使用它。 如果同一台计算机上的另一个应用程序需要更多,则操作系统将为其释放它。 这就是为什么Solr / Lucene的查询速度快一个数量级的原因,因为大多数调用服务器的内存都是以内存(取决于内存大小)而不是磁盘。 JVM内存是不同的东西,它可以被控制,只有正在运行的查询响应对象和某些缓存项使用JVM内存。

...

暴露给用户空间应用程序的所有地址(包括mtrace()显示的地址mtrace()都是虚拟内存地址。 All addresses exposed to userspace applications, including those shown by mtrace(), are virtual memory addresses.

默认情况下,solr 4.3将mmap索引到内存中,您可以尝试其他DirectoryFactory,例如SimpleFSDirectoryFactory。 请参阅solrconfig.xml中的DirectoryFactory部分。 By default, solr 4.3 will mmap index into memory, you may try other DirectoryFactory, such as SimpleFSDirectoryFactory. See DirectoryF

...

wmic os get FreeVirtualMemory, FreePhysicalMemory, FreeVirtualMemory,MaxProcessMemorySize,TotalVisibleMemorySize,TotalVirtualMemorySize

比systeminfo工作得更快 wmic os get FreeVirtualMemory, FreePhysicalMemory, FreeVirtualMemory,MaxProcessMemorySize,TotalVi

...

Solr显然在这个数字中加入了“buff / cache”。 如果将其添加到“已使用”,则获得98%。 记忆是可以回收的,所以你不应该担心。 操作系统只是尽可能地使用RAM进行磁盘缓存。 Solr apparently includes "buff/cache" into that number. If you add it to "used" you get 98%. That memory is reclaimable, so you shouldn't be worried. Operati

...

虚拟内存本质上(在实际意义上)与物理内存相同,只是扩展到系统的磁盘驱动器以进行缓存(请参阅分页文件)。 由于它位于磁盘上,因此访问速度要慢得多,因为在读取数据之前需要将数据从磁盘“交换”到物理内存中。 如果程序有内存泄漏,它将填满(或至少达到程序可用内存的限制。) 您可以使用top来检查消耗大量内存的进程。 如果内存量在异常速率的程序中继续增长,那么这可能是内存泄漏的指示。 使用像valgrind这样的程序可以更容易识别: http : //en.wikipedia.org/wiki/Valgri

...

9GB由您添加的8GB执行程序内存作为参数组成, spark.yarn.executor.memoryOverhead设置为.1 ,因此容器的总内存为spark.yarn.executor.memoryOverhead + (spark.yarn.executor.memoryOverhead * spark.yarn.executor.memoryOverhead)这是8GB + (.1 * 8GB) ≈ 9GB 。 您可以使用一个执行程序来运行整个过程,但这需要很长时间。 要理解这一点,您需要

...

你自己看: JVM无法为堆获取足够的内存并退出。 我认为没有办法让JVM使用特定数量的内存进行分页,但您可以使用: -XX:+|-UseLargePages - 用于大页面支持 和-XXLargePageSizeInBytes= - 用于指定大页面的大小。 请查看http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html See for yourself: JVM fails in getting enough

...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

​​《自然》2020年十大科学发现出炉:病毒,冷冻电镜与快速射电暴

来源:科研圈作者:陈梦圆、谢一璇、李姗珊、邱燕宁、魏潇科学成就

Http协议--Get和Post区别

1. 请求路径不同 post请求,在url后面不跟上任何的数据 Get请求,在地址后面跟上数据 2. 带上的数据不同,Post请求会使用流的方式写数据。 Get请求是在地址栏上跟数据 3. 由于Post请求使用流的方式写数据, 所以一定需要一个Con…

Hibernate中用到联合主键的使用方法,为何要序列化,为何要重写hashcode 和 equals 方法...

联合主键用Hibernate注解映射方式主要有三种: 第一、将联合主键的字段单独放在一个类中,该类需要实现java.io.Serializable接口并重写equals和hascode,再将该类注解为Embeddable,最后在主类中(该类不包含联合主键类中的字段)保存该联合主键类…

命令行设置dns_dos命令netsh图文教程,设置修改IP地址子网掩码网关命令行改dns...

大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频。今天我们学习dos命令中的netsh,这个命令是网络命令,它有很多的功能,今天我们用它…

Leetcode--5081. 步进数

如果一个整数上的每一位数字与其相邻位上的数字的绝对差都是 1,那么这个数就是一个「步进数」。 例如,321 是一个步进数,而 421 不是。 给你两个整数,low 和 high,请你找出在 [low, high] 范围内的所有步进数&#x…

文件操作的基本流程

1、读模式 f.read()f.readable()#这个文件是否可读,返回布尔值;f.readline(“读模式”)#读取第一行;f.readlines(“读模式”)#读取所有内容 以字符串方式存储在列表内; f open(小重山,r,encodingutf-8) #第一个参数是文件位置&am…

第三代人工智能基础设施背后,是一次技术应用的常识普及运动

来源:脑极体买了新电脑和手机,你会提前安装好杀毒或安全软件,还是等被黑客攻破了才悔之晚矣?处理传染病疫情,是从源头释放药物和疫苗,还是坐等医院的患者超过治疗和处理能力?面对危机舆情&#…

5 ui自适应窗口_Qt编写地图综合应用5-自适应拉伸

一、前言用过echart的人都会遇到一个问题,就算是代码中写了window.onresize echart.resize,也只是横向自适应拉伸填充页面,垂直方向不会变化,除非指定高度才可以,这就比较郁闷了,为何echart本身不会自适应…

Leetcode--85. 最大矩形

给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 输入: [ ["1","0","1","0","0"], ["1","0","1","1","…

PowerDesigner生成sql语句时自动导出注释

1、为sql生成注释,操作如下,在其中选择Tools----》Excute commands-----》Edit/Run Script打开的窗口中添加以下信息 ****************************************************************************** * File: name2comment.vbs * Purpo…

为什么俄罗斯的数学那么牛?

编辑 ∑Gemini来源:奇趣数学苑但在国际上也有一个很著名的说法,就是世界上最好的大学,其实是“美国的学校,中国的学生,俄罗斯的教授”。俄罗斯数学家佩雷尔曼虽然俄罗斯现在相比以前来说,尤其明显的是在一些需要大量设…

查看屏幕大小_疑似“iPhone 12” 的OLED屏幕组件泄露

来自可靠的泄密者的新照片显示了即将面世的“ iPhone 12”所搭载的OLED屏幕。这名泄密者以前曾显示过未来苹果产品的准确图像,此前曾展示过苹果A14芯片组的早期图片,并声称“ iPhone 12”将配备20W电源适配器。现在他在推特上发布了一张照片,…

Leetcode--198. 打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的…

搭建Hexo博客(一)-创建Hexo环境

Hexo配合github,可以创建自己的博客。基本原理是使用Hexo生成静态页面,发布到github上。在本地需要搭建Hexo环境。 1、安装nodejs 下载并安装NodeJS,官网地址:https://nodejs.org/en/ 2、安装完后,查看安装情况 1 node…

python logging模块的作用及应用场景_Python logging模块原理解析及应用

一、logging日志模块等级常见log级别从高到低:CRITICAL 》ERROR 》WARNING 》INFO 》DEBUG,默认等级为WARNING,即>WARNING级别的log才输出。日志等级(level)描述CRITICAL当发生严重错误,导致应用程序不能继续运行时记录的信息E…

Nature:2020年最佳科学影像,每一张都是壁纸,每一张都是历史

文章来源:学术头条2020年是独一无二的一年。COVID-19大流行将科学推到了最前沿,并深刻影响了人们的生活。但是这一年也产生了许多与病毒无关的新影像。从薄薄的太阳能电池,到经过基因编辑的鱿鱼,下面就是Nature新闻和艺术团队评选…

Leetcode--213. 打家劫舍Ⅱ

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚…

转 从红帽、GitHub和Docker看开源商业模式的进阶

从红帽、GitHub和Docker看开源商业模式的进阶 发表于2014-12-16 10:26| 7594次阅读| 来源http://stratechery.com/| 0 条评论| 作者Ben ThompsonDocker红帽GitHub开源CoreOS摘要:从技术角度来说,Docker无疑是可圈可点的,比如“write once run…

antimalware可以关闭吗_iPhone最好关闭这4个设置,手机流畅还省电

你抢到新款的iPhone12了吗?80%的小伙伴都会忽略的设置,你的iPhone手机最好关闭以下这4个设置。①关闭ios系统更新操作步骤:打开【设置】-【通用】-【软件更新】-【自动更新】-【下载iOS更新】,关闭即可。这样就不会莫名其妙地下载…

Leetcode--221.最大正方形

在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 思路:和最大长方形类似(可以参照https://mp.csdn.net/postedit/102420219&…