At what level should i be concerned about context switching? I have a server, when idle sees cswitch ~200-500
but when under heavy load is peaking over 20k (with over 100k syscalls). Is this a sign that my CPU allocation is too low or is this normal?
Interesting question, I never really thought about it actually. IINM cswitch is a highly contextual measure. I would definitely like to know if someone can explain how cswitch can be used... to monitor performance.
As for the CPU utilization and the server load, I would used the uptime load averages, from the uptime command. According to the man page, the last three figures will give you the number of threads (or processes) in the runnable state as a moving average of 1, 5 and 15 mins. So as for Power5+, IBM claimed that you can afford to have 5xnum_of_cores (there was a note on infocenter.. can't seems to find it now)... but this will be only valid for 1 min interval. If your 15 min average is seen more than 2xnum_cores (if you consider the SMT feature enabled), then your system might need more than what it already has.
20-100k is nothing. Ive seen very old small p5 server which were able to handle couple of megs cswitches per sec. It was caused by a problem in application which did not buffer writes. I used one "write" syscall per writing each byte : write(OUT,1). Well, in this case the server was CPU overloaded.
Cheers,
Pavel
Tags
Use the search field to
find all types of content in My developerWorks with that tag.
Use the slider bar to see more or fewer tags.
Popular tags shows the top tags for this particular type of content or application that you're viewing.
My tags shows your tags for this particular type of content or application that
you're viewing.