1. vmstat CPU idle column does Strange Things<tm> when CPUs get busy. 2. vmstat should perhaps show seperate idle columns per CPU.
1) could you be explicit, perhaps paste in a line demonstrating what you are writing about? I suggest that you download procps-1.2.12 first, as it changes the output format of vmstat a bit and may answer this for you, since I don't know what the complaint is... 2) when /proc exports the information, perhaps vmstat will support it. This is a kernel limitation, not a vmstat limitation.
The problem does indeed appear to be fixed in later releases. The only SMP system under my control that still exhibits the problem (the rest having been upgraded) is a 5.0 box with procps-1.2.7-1 and kernel 2.0.32. Sample output: 0 0 0 0 6772 24612 338432 0 0 0 0 146 53 0 2 98 1 0 0 0 6756 24612 338432 0 0 0 0 147 71 0 54 46 1 0 0 0 6732 24612 338432 0 0 0 0 120 20 0 102 41698710 1 0 0 0 6724 24612 338432 0 0 0 0 121 15 0 102 41698710 procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 2 0 0 0 6712 24612 338432 0 0 0 25 150 26 6 96 41698710 1 0 0 0 6708 24612 338432 0 0 0 0 153 46 1 103 40904447 1 0 0 0 6704 24612 338432 0 0 0 0 127 33 1 101 41698710 0 0 0 0 6700 24612 338432 0 0 0 0 170 150 6 91 3 0 0 0 0 6700 24612 338432 0 0 0 0 119 12 0 2 98 The problem appears to be historic/academic however now, so I'd close it. Sorry for the trouble.
This appears to be fixed. Please reopen if I'm wrong.