diff options
author | Maria van Keulen <maria@mongodb.com> | 2018-04-02 12:06:40 -0400 |
---|---|---|
committer | Maria van Keulen <maria@mongodb.com> | 2018-04-23 18:09:43 -0400 |
commit | 8f92f4f7d2a9f230fc85776cdfaae66a565674b6 (patch) | |
tree | c7055e6a5c60b1b5a31c46f91d07232da518d885 | |
parent | 4af95dc93dbe306778e94f1d487f4e9afa57c8a9 (diff) | |
download | mongo-8f92f4f7d2a9f230fc85776cdfaae66a565674b6.tar.gz |
SERVER-20056 Warn when wiredTigerCacheSizeGB is > 80% of RAM
(cherry picked from commit 657fdff7b50949b50848b1de466c88f7be18034b)
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp index f8dc319073c..f1176a2d024 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_init.cpp @@ -52,6 +52,7 @@ #include "mongo/db/storage/wiredtiger/wiredtiger_server_status.h" #include "mongo/db/storage/wiredtiger/wiredtiger_util.h" #include "mongo/util/log.h" +#include "mongo/util/processinfo.h" namespace mongo { @@ -86,6 +87,19 @@ public: #endif size_t cacheMB = WiredTigerUtil::getCacheSizeMB(wiredTigerGlobalOptions.cacheSizeGB); + const double memoryThresholdPercentage = 0.8; + ProcessInfo p; + if (p.supported()) { + if (cacheMB > memoryThresholdPercentage * p.getMemSizeMB()) { + log() << startupWarningsLog; + log() << "** WARNING: The configured WiredTiger cache size is more than " + << memoryThresholdPercentage * 100 << "% of available RAM." + << startupWarningsLog; + log() << "** See " + "http://dochub.mongodb.org/core/faq-memory-diagnostics-wt" + << startupWarningsLog; + } + } const bool ephemeral = false; WiredTigerKVEngine* kv = new WiredTigerKVEngine(getCanonicalName().toString(), |