Satu-satunya hal yang dapat saya pikirkan adalah memeriksa apa yang sebenarnya dilakukan mysqld menggunakan strace, sebagai root pengguna:
strace -p 2959
Biasanya, strace akan segera memblokir dan menampilkan panggilan ke select(), karena mysqld harus menunggu koneksi.
Panggilan harus seperti:
select(SOCKETNO, [OTHER_FDs], NULL, NULL, NULL)
yang sangat penting adalah parameter keempat, yang merupakan timeout timeval. Jika NULL, itu berarti mysqld akan tidur sampai seseorang terhubung. Jika tidak NULL, itu berarti mysqld akan menunggu waktu yang ditentukan dan kemudian melakukan beberapa pekerjaan pemeliharaan. Waktu yang sangat kecil mungkin menjelaskan konsumsi CPU.
Saya percaya bahwa MySQL selalu menggunakan batas waktu NULL (tak terbatas). Masuk akal dan beginilah perilaku mysqlds yang dapat saya jangkau sekarang.
Namun, mungkin ada beberapa masalah penanganan koneksi yang mencegah pilih tidur lagi. Periksa apakah perilaku ini muncul segera setelah mysqld dimulai, atau setelah seseorang terhubung.