2015-04-03 68 views
11

後,我更新使用MongoDB的啓動警告更新

sudo apt-get install mongodb-org 

MongoDB是從2.4到3.0更新MongoDB的。在連接到mongo shell後不久,它顯示下面的啓動警告。我不知道修理它。建議我如何解決這些警告?

MongoDB shell version: 3.0.1 
connecting to: test 
Server has startup warnings: 
2015-04-03T13:37:53.536+0530 I CONTROL [initandlisten] 
2015-04-03T13:37:53.536+0530 I CONTROL [initandlisten] ** WARNING:  /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 
2015-04-03T13:37:53.536+0530 I CONTROL [initandlisten] **  We suggest setting it to 'never' 
2015-04-03T13:37:53.536+0530 I CONTROL [initandlisten] 
2015-04-03T13:37:53.537+0530 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 
2015-04-03T13:37:53.537+0530 I CONTROL [initandlisten] **  We suggest setting it to 'never' 
2015-04-03T13:37:53.537+0530 I CONTROL [initandlisten] 

回答

12

使用root權限在/etc/rc.local文件中的exit 0前面添加以下行做了這個魔術。保存文件後重新啓動操作系統。然後警告消失在mongo shell中。

來源:MongoDB的文檔(http://docs.mongodb.org/manual/reference/transparent-huge-pages/#transparent-huge-pages-thp-settings

if test -f /sys/kernel/mm/transparent_hugepage/khugepaged/defrag; then 
echo 0 > /sys/kernel/mm/transparent_hugepage/khugepaged/defrag 
fi 
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then 
echo never > /sys/kernel/mm/transparent_hugepage/defrag 
fi 
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then 
echo never > /sys/kernel/mm/transparent_hugepage/enabled 
fi 
+3

當前(= 2015/09)的官方MongoDB文檔有一些不同的使用方式(不是使用/etc/rc.local而是專用的啓動腳本),請查看http://docs.mongodb.org/master/tutorial/transparent-huge-pages /這在Ubuntu 14上適用於我。 – hgoebl 2015-09-19 11:16:01

+0

我試過在官方文檔中建議的方式,它對我沒有用(去圖)。不過,把這個放在rc.local裏就行了。 是否有任何使用rc.local代替的缺點? – 2016-07-26 09:13:25

+0

rc.local文件由操作系統在每次啓動後在最後一個運行級別執行,這意味着在操作系統啓動所有進程和服務後運行。我發現使用它沒有缺點 – 2016-08-13 02:53:23

0

好像很多人都有同樣的問題。您可以在MongoDB documentation中找到答案,或者您可以查看StackOverflow上提出的類似問題。

有人建議在控制檯sudo service mongod restart中輸入,這對他們有效。

+1

繼MongoDB的文檔,幫我解決了問題 – 2015-04-03 10:08:43

+0

高興你解決它。將其中一個答案標記爲正確。謝謝。 – 2015-04-03 18:20:26

6

由於透明巨大頁面(THP)設置,彈出這些警告。

official MongoDB documentation指出:

然而,THP已知下數據庫工作負載, 趨向於具有稀疏,而不是連續的存儲器訪問模式 表現不佳。您必須在用於運行MongoDB實例的Linux機器上禁用THP以確保最佳性能。

有StackOverflow上類似thread在這裏你可以找到建議更新mongod.conf文件,以便覆蓋由MongoDB的指示的THP屬性的可能的解決方案。

+0

幫助MongoDB文檔。謝謝 – 2015-04-03 10:10:49