Marklogic 映射占用了多少内存?

Marklogic 映射占用了多少内存?,marklogic,Marklogic,我有一个用于报告生成的xquery,它有时在一个映射中保存大约500K个URI,并检查它们在数据库中的存在(cts:search,使用cts:document query)并返回差异。但是,如果我们同时请求同一个E节点,则响应时间会减慢 地图可以消耗的内存大小是否有上限? 在任何情况下都可以将映射交换到磁盘?您可以看到每个林在管理服务器上使用了多少内存。转到林,单击状态选项卡,然后向下滚动到底部。“内存大小”是映射文件大小的总和。您还可以使用xdmp:forest status在XQuery程序

我有一个用于报告生成的xquery,它有时在一个映射中保存大约500K个URI,并检查它们在数据库中的存在(
cts:search
,使用
cts:document query
)并返回差异。但是,如果我们同时请求同一个E节点,则响应时间会减慢

地图可以消耗的内存大小是否有上限?
在任何情况下都可以将映射交换到磁盘?

您可以看到每个林在管理服务器上使用了多少内存。转到林,单击状态选项卡,然后向下滚动到底部。“内存大小”是映射文件大小的总和。您还可以使用
xdmp:forest status
在XQuery程序中收集这些信息


内存消耗受到操作系统地址空间及其虚拟内存限制(可用交换空间)的限制。如果服务器内存消耗超过可用物理内存,操作系统将把页面交换到磁盘。这可能会对性能产生严重影响。因此,监控操作系统交换利用率,看看这是否可能是导致速度放缓的原因。

您可以将地图作为xml存储在数据库中,但仍需要将其加载到内存中才能使用。您也可以将它们存储为服务器字段,但仍然需要将其加载到内存中。不过,如果构建包含500k条目的地图需要相当长的时间,那么这样做可能是值得的。另一方面,你如何跟踪地图的最新情况