Skip to content

Commit 4565ea4

Browse files
committed
Set memory limit for IResearch
1 parent 25f2af3 commit 4565ea4

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

arangod/IResearch/IResearchFeature.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@
8585
#include "VocBase/LogicalCollection.h"
8686
#include "VocBase/LogicalDataSource.h"
8787
#include "VocBase/LogicalView.h"
88+
#include "Basics/PhysicalMemory.h"
89+
#include "resource_manager.hpp"
8890

8991
#include <absl/strings/str_cat.h>
9092

@@ -1105,6 +1107,12 @@ void IResearchFeature::validateOptions(
11051107
void IResearchFeature::prepare() {
11061108
TRI_ASSERT(isEnabled());
11071109

1110+
// Set memory limits for IResearchFeature to 50% of available memory.
1111+
auto physicalMem = static_cast<size_t>(PhysicalMemory::getValue());
1112+
irs::IResearchMemoryManager::GetInstance()->SetMemoryLimit(physicalMem / 2);
1113+
LOG_TOPIC("462d7", INFO, arangodb::iresearch::TOPIC) << "Setting IResearch memory limit to " <<
1114+
physicalMem / 2;
1115+
11081116
// load all known codecs
11091117
::irs::formats::init();
11101118

0 commit comments

Comments
 (0)