We have an issue were mysqld hogs up 100% of one of our cpu cores from time to time. How can I configure monit to restart mysqld when this happens.
For an example of what I am talking about, top normally shows only one cpu but if you press '1' it will show all the cpus.
(normal top)
top - 18:13:11 up 10 days, 21:59, 1 user, load average: 1.56, 1.81, 2.08
Tasks: 186 total, 5 running, 181 sleeping, 0 stopped, 0 zombie
Cpu(s): 31.6% us, 7.6% sy, 0.0% ni, 60.8% id, 0.0% wa, 0.0% hi, 0.0% si
(top after pressing '1')
top - 18:13:54 up 10 days, 22:00, 1 user, load average: 1.73, 1.81, 2.07
Tasks: 185 total, 3 running, 182 sleeping, 0 stopped, 0 zombie
Cpu0 : 29.4% us, 5.9% sy, 0.0% ni, 63.9% id, 0.7% wa, 0.0% hi, 0.0% si
Cpu1 : 27.9% us, 5.6% sy, 0.0% ni, 65.5% id, 1.0% wa, 0.0% hi, 0.0% si
Cpu2 : 23.1% us, 5.7% sy, 0.0% ni, 70.6% id, 0.7% wa, 0.0% hi, 0.0% si
Cpu3 : 25.3% us, 6.2% sy, 0.0% ni, 67.5% id, 1.0% wa, 0.0% hi, 0.0% si
(sample when mysqld is hogging cpu time)
top - 18:13:54 up 10 days, 22:00, 1 user, load average: 1.73, 1.81, 2.07
Tasks: 185 total, 3 running, 182 sleeping, 0 stopped, 0 zombie
Cpu0 : 100 % us, 5.9% sy, 0.0% ni, 63.9% id, 0.7% wa, 0.0% hi, 0.0% si
Cpu1 : 7.9% us, 5.6% sy, 0.0% ni, 65.5% id, 1.0% wa, 0.0% hi, 0.0% si
Cpu2 : 3.1% us, 5.7% sy, 0.0% ni, 70.6% id, 0.7% wa, 0.0% hi, 0.0% si
Cpu3 : 5.3% us, 6.2% sy, 0.0% ni, 67.5% id, 1.0% wa, 0.0% hi, 0.0% si
So, how do I get monit to restart mysqld when just one cpu is pegged at 100%? It's not always Cpu0, it could be any of them.
Thanks,
------------------------------------------------------------------------