CPU Wait issue caused somehow probably by MySQL and possibly related to max_allowed_packet issue
cpu wait is ridiculously high with nothing but mysql running (with the server actually serving, it was 90+% consistently).
top - 05:52:29 up 3 min, 1 user, load average: 0.84, 0.53, 0.22
Tasks: 69 total, 1 running, 68 sleeping, 0 stopped, 0 zombie
Cpu(s): 4.4%us, 1.1%sy, 0.0%ni, 47.8%id, 46.5%wa, 0.2%hi, 0.0%si, 0.0%st
Mem: 1035172k total, 1019344k used, 15828k free, 78404k buffers
Swap: 2650684k total, 552k used, 2650132k free, 712048k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2941 mysql 20 0 274m 97m 4804 S 22 9.7 0:10.24 mysqld
2942 root 20 0 3004 616 540 S 2 0.1 0:00.06 logger
3000 ben 20 0 2376 992 804 R 1 0.1 0:00.06 top
1 root 20 0 2100 700 596 S 0 0.1 0:01.22 init
Here's top at the higher load, MySQL and Apache running:
top - 02:31:22 up 11 min, 2 users, load average: 12.77, 13.11, 7.45
Tasks: 171 total, 2 running, 169 sleeping, 0 stopped, 0 zombie
Cpu(s): 5.2%us, 1.5%sy, 0.0%ni, 0.0%id, 93.2%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 1035172k total, 1021108k used, 14064k free, 7128k buffers
Swap: 2650684k total, 1071536k used, 1579148k free, 194148k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2114 mysql 20 0 267m 100m 2876 S 12 10.0 1:11.85 mysqld
2758 www-data 20 0 115m 33m 13m D 3 3.3 0:05.18 apache2
2937 www-data 20 0 105m 19m 8636 D 3 1.9 0:00.68 apache2
180 root 15 -5 0 0 0 S 1 0.0 0:06.76 kswapd0
2985 www-data 20 0 99.0m 7936 3412 D 1 0.8 0:00.08 apache2
2987 www-data 20 0 98.2m 7104 3480 S 1 0.7 0:00.04 apache2
2914 www-data 20 0 115m 35m 14m S 1 3.5 0:03.10 apache2
2970 www-data 20 0 98.7m 7816 3448 D 1 0.8 0:00.10 apache2
2986 www-data 20 0 98.2m 7028 3344 S 1 0.7 0:00.02 apache2
1 root 20 0 2100 540 512 S 0 0.1 0:01.26 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
3 root RT -5 0 0 0 S 0 0.0 0:00.00 migration/0
4 root 15 -5 0 0 0 S 0 0.0 0:00.00 ksoftirqd/0
5 root RT -5 0 0 0 S 0 0.0 0:00.00 watchdog/0
6 root RT -5 0 0 0 S 0 0.0 0:00.00 migration
Stopping apache and stopping mysql and starting mysql and doing this is what i think fixed it:
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
Note that a couple server reboots did not fix it.
The constant max_allowed_packet error in the syslog, and one odd e-mail one:
This is not syslog, then, but legacy Drupal 5 sites with database logging, these errors are showing up from the PHP error caused when Drupal cannot log the MySQL max_allowed_packet error (by, in fact, triggering the same error).
Weirdness?
How to increase max allowed packet size:
http://www.liferay.com/web/guest/community/forums/-/message_boards/message/124969
Syslog instead of database logging
Problem is knowing which site is making the log.
http://support.bryght.com/vps/syslog suggests giving each site a different "local" and directing each to its own logfile.
but that limits us to seven sites on a server!!
admin/settings/logging/syslog
Comments
Post new comment