Saya menerima peringatan berikut dari mongodb tentang THP
2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
Tapi saya berhasil mematikan THP secara manual
frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
Saya melakukan trik dengan menambahkan transparent_hugepage=never
ke GRUB_CMDLINE_LINUX_DEFAULT
dalam /etc/default/grub
dan menambahkan
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
untuk /etc/rc.local
Bagaimana saya bisa menghindari peringatan itu?
linux
mongodb
linux-kernel
Frederick Zhang
sumber
sumber
sudo service mongod restart
dan peringatannya hilang begitu saja! Terima kasih! ini aneh, mengapa saya tidak bisa reboot VM saja?Jawaban:
Dokumentasi resmi MongoDB memberikan beberapa solusi untuk masalah ini. Anda juga dapat mencoba solusi ini , yang berhasil untuk saya:
Catatan: Coba arahan dokumentasi resmi jika versi MongoDB lebih besar dari 3.0
Buka
/etc/init.d/mongod
file.(jika tidak ada file seperti itu yang dapat Anda periksa
/etc/init.d/mongod
,/etc/init/mongod.conf
file - kredit: komentar di bawah)Tambahkan garis di bawah segera setelah
chown $DAEMONUSER /var/run/mongodb.pid
dan sebelumend script
.mongod
(service mongod restart
).Berikut adalah baris untuk ditambahkan
/etc/init.d/mongod
:Itu dia!
sumber
MongoDB telah memperbarui rekomendasi mereka untuk menggunakan skrip init.d sekarang: http://docs.mongodb.org/master/tutorial/transparent-huge-pages/
sumber
Untuk Ubuntu 14.04 menggunakan pemula:
Karena kami menerapkan mesin dengan Ansible, saya tidak suka memodifikasi file rc atau konfigurasi GRUB.
Saya mencoba menggunakan
sysfsutils
/sysfs.conf
tetapi mengalami masalah waktu saat memulai layanan dengan cepat (atau mesin lambat). Sepertinya terkadang mongod dimulai sebelum sysfsutils. Terkadang berhasil, terkadang tidak.Karena mongod adalah proses pemula, saya menemukan bahwa solusi terbersih adalah menambahkan file
/etc/init/mongod_vm_settings.conf
dengan konten berikut:Ini akan menjalankan skrip sebelum mongod dimulai. Mulai ulang mongod (
sudo service mongod restart
) dan selesai.sumber
Buka / etc / default / grub
sudo vi / etc / default / grub
Perbarui
GRUB_CMDLINE_LINUX_DEFAULT = "" menjadi GRUB_CMDLINE_LINUX_DEFAULT = "transparent_hugepage = tidak pernah"
: wq (dalam vi)
Jalankan update-grub
sudo update-grub
Nyalakan ulang mesin
Pembaruan: Jika Anda menggunakan penyedia hosting virtual, ini akan berfungsi jika boot grub IFF didukung. DigitalOcean TIDAK mendukung boot grub.
sumber
Diverifikasi bahwa defrag diperiksa tanpa memperhatikan yang diaktifkan:
Oleh karena itu, perbaikan bug ini adalah pertama-tama melihat transparent_hugepage / enabled, dan jika tidak pernah, jangan repot-repot melihat pengaturan transparent_hugepage / defrag yang tidak relevan.
Sumber .
sumber
Ubuntu 16.04 menggunakan systemd:
systemctl edit mongod
Tempel yang berikut ini:
sumber