We are runnng sybase ASE 15.0 with 16 engines on a unix box with 32 CPUs (8 4-core processors). On rebuilding a clustered index, we found the CPU idlle went down to almost 0, and very high kernel usage. The max parallel degree is configured to 1 to keep an engine running on a single CPU. Some how TOP shows a Sybase engine may use over 30 or 40% CPU. Below is a top display:
CPU states: 3.0% idle, 15.1% user, 81.9% kernel, 0.0% iowait, 0.0% swap
Memory: 32G phys mem, 900M free mem, 33G total swap, 33G free swap
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
1193 sybase 264 40 0 19G 533M cpu/4 255:13 37.40% dataserver
1181 sybase 264 40 0 19G 533M cpu/20 212:05 20.02% dataserver
1192 sybase 184 0 0 19G 532M cpu/22 232:21 18.17% dataserver
Why is Sybase using so much kernel time?
Is there a way to limit the CPU used by a Sybase engine?