Scott Silva wrote:
on 5-2-2008 2:10 PM Martin Pala spake the following:
As mentioned ... monit watches the CPU resources of the whole system
(sum of all cores/CPUs), it's not possible to monitor particular
core/CPU.
Monitoring single core doesn't make sense i think, since on
timesharing system without mentioned resource management can any
process run on any CPU. Scheduler can switch the process/thread to any
core. If your mysql has multiple threads (almost certainly has), it's
not running on one core unless you use resource management to dedicate
part of the HW.
Why do you need to watch single core on SMP system? It's like watching
single DIMM usage ... your mysql process can be migrated to any core,
if you'll define the CPU usage as 25%, it corresponds to eating CPU
resources corresponding to one core on 4-core system.
Martin
I see his point. If all four cores are running at say 40 or 50%, while
perfectly valid usage on a busy system, it would trigger on the "25%"
test and restart mysql for nothing.
It is sufficient to use the cpu test on process level (not system level):
--8<--
check process mysql with pidfile /var/run/mysql.pid
if cpu usage > 25% for 5 cycles then restart
--8<--
This way the restart will happen only if mysql itself will create the
load corresponding to one core resources.
Martin
--
To unsubscribe:
http://lists.nongnu.org/mailman/listinfo/monit-general