Saya mencoba mencari tahu mengapa kjournald
mesin saya menjadi gila. Ini adalah kotak 8-core dengan banyak memori. Itu punya ~ beban cpu 50%.
Iotop tampaknya tidak menunjuk pada proses tertentu - beberapa semburan penulisan di sana-sini (sebagian besar cron dimulai, beberapa statistik pemantauan dihasilkan, dll.) Ketika saya sys/vm/block_dump
mengumpulkan statistik penulisan, saya mendapat daftar seperti ini:
kjournald(1352): 1909
sendmail(28934): 13
cron(28910): 12
cron(28912): 11
munin-node(29015): 3
cron(28913): 3
check_asterisk_(28917): 3
sh(28917): 2
munin-node(29022): 2
munin-node(29021): 2
Di mana kjournald
tindakan hanyalah MENULIS.
Mengapa itu terjadi? Apa lagi yang harus saya perhatikan untuk membatasi aktivitas kjournald sedikit? Tampaknya tidak proporsional dengan apa yang sebenarnya ditulis.
linux
filesystems
tuning
kjournald
viraptor
sumber
sumber
Jawaban:
kjournald
bertanggung jawab atas jurnal ext3 (journaling filesystem). Itu diketahui menggunakan banyak CPU di bawah beban tertentu. Tidak banyak yang bisa dilakukan kecuali menggunakan sistem file lain atau menonaktifkan penjurnalan (secara efektif membuat fs ext2).Secara teoritis Anda dapat menggunakan salah satu mode lain dari penjurnalan ext3 dan memeriksa apakah penggunaan CPU turun, tetapi ingat bahwa setiap metode adalah kompromi pada keamanan data yang ditulis ke disk. Anda telah memesan mode, mode penulisan kembali dan mode 'semuanya'.
Anda mengatur mode menggunakan opsi
data=
saat memasang sistem, sepertidata=ordered
.sumber
Secara default sistem file ext3 Anda akan dipasang dengan atimes dihidupkan. Setiap kali file atau direktori dibaca / diakses, sistem file harus menulis kembali ke disk untuk memperbarui catatan atime ini. Ini berarti bahwa meskipun beban kerja Anda sebagian besar berbasis baca, Anda masih perlu menekan disk untuk memperbarui waktu akses setiap file & direktori, dan ini adalah dugaan saya mengapa
kjournald
proses Anda menulis begitu banyak blok.Mematikan atime akan menghasilkan peningkatan kinerja yang besar tetapi akan merusak kepatuhan POSIX. Lihatlah artikel Wikipedia ini untuk beberapa diskusi seputar kritik terhadap atime.
Untuk mematikan atimes, tambahkan saja
noatime
opsi mount untuk sistem file Anda, atau Anda dapat melakukan remount seperti yang disarankan oleh poige. Berikut ini contoh untuk sistem berkas root Anda:sumber
relatime
kompromi yang tampaknya dapat diterima antaranoatime
danatime
.Jika kesempurnaan data tidak penting: lakukan ini
Pastikan itu benar-benar kjournald. Itu yang menyebabkan server saya crash.
Mengubah hard drive ke SSD akan berfungsi.
Ketika Anda melihat kjournald menulis 5-10MB data yang Anda lakukan
http://ubuntuforums.org/showthread.php?t=56621
di mana sda1 adalah nama partisi Anda
Laporkan hasil dalam komentar sehingga saya dapat memeriksa lebih lanjut.
sumber
Tidak untuk melakukan, hanya untuk menyebutkan:
mount -oremount,noatime /fs/being_over/journaled
- sebagai tebakan cepat (mount
toh Anda tidak menunjukkan seperti apa penampilan Anda )tune2fs -J …
)sumber