summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaria van Keulen <maria@mongodb.com>2018-04-02 12:06:40 -0400
committerMaria van Keulen <maria@mongodb.com>2018-04-23 18:09:43 -0400
commit8f92f4f7d2a9f230fc85776cdfaae66a565674b6 (patch)
treec7055e6a5c60b1b5a31c46f91d07232da518d885
parent4af95dc93dbe306778e94f1d487f4e9afa57c8a9 (diff)
downloadmongo-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.cpp14
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(),