Обсуждение: How to diagnose a “context-switching ” storm problem ?
Hi,
My database server get sluggish suddenly ,I check the vmstat as below:
2010-04-07 04:03:15 procs memory swap io system cpu
2010-04-07 04:03:15 r b swpd free buff cache si so bi bo in cs us sy id wa
2010-04-07 14:04:27 3 0 0 2361272 272684 3096148 0 0 3 1445 973 14230 7 8 84 0
2010-04-07 14:05:27 2 0 0 2361092 272684 3096220 0 0 3 1804 1029 31852 8 10 81 1
2010-04-07 14:06:27 1 0 0 2362236 272684 3096564 0 0 3 1865 1135 19689 9 9 81 0
2010-04-07 14:07:27 1 0 0 2348400 272720 3101836 0 0 3 1582 1182 149461 15 17 67 0
2010-04-07 14:08:27 3 0 0 2392028 272840 3107600 0 0 3 3093 1275 203196 24 23 53 1
2010-04-07 14:09:27 3 1 0 2386224 272916 3107960 0 0 3 2486 1331 193299 26 22 52 0
2010-04-07 14:10:27 34 0 0 2332320 272980 3107944 0 0 3 1692 1082 214309 24 22 54 0
2010-04-07 14:11:27 1 0 0 2407432 273028 3108092 0 0 6 2770 1540 76643 29 13 57 1
2010-04-07 14:12:27 9 0 0 2358968 273104 3108388 0 0 7 2639 1466 10603 22 6 72 1
My postgres version: 8.1.3;
My OS version: Linux version 2.4.21-47.Elsmp((Red Hat Linux 3.2.3-54)
My CPU:
processor : 7
vendor_id : GenuineIntel
cpu family : 15
model : 6
model name : Intel(R) Xeon(TM) CPU 3.40GHz
stepping : 8
cpu MHz : 3400.262
cache size : 1024 KB
physical id : 1
I donnt know what make the “context-switching” storm ?
How should I investigate the real reason ?
Could you please give me some advice ?
Best regards,
Ray Huang
2010/4/12 RD黄永卫 <yongwei_huang@temp.gtmc.com.cn>: > I donnt know what make the "context-switching" storm ? > > How should I investigate the real reason ? > > Could you please give me some advice ? It might be because of cascading locks so try to monitor them when it happens. You may find this query useful: SELECT granted, count(1) AS locks, pid, now() - xact_start AS xact_age, now() - query_start AS query_age, current_query FROM pg_locks AS l LEFT JOIN pg_stat_activity AS a ON pid = procpid GROUP BY 1, 3, 4, 5, 6 ORDER BY 1 DESC, 2 DESC -- ORDER BY 4 DESC LIMIT 100; -- Sergey Konoplev Blog: http://gray-hemp.blogspot.com / Linkedin: http://ru.linkedin.com/in/grayhemp / JID/GTalk: gray.ru@gmail.com / Skype: gray-hemp / ICQ: 29353802
RD黄永卫<yongwei_huang@temp.gtmc.com.cn> wrote: > My database server get sluggish suddenly > [vmstat output showing over 200,000 context switches per second] > My postgres version: 8.1.3; Upgrading should help. Later releases are less vulnerable to this. > Could you please give me some advice ? A connection pooler can often help. (e.g., pgpool or pgbouncer) -Kevin