http://forums.mysql.com/read.php?21,85701,85966
In the system lock state there is not just done file locking, but also MyISAM locking of the table. In that phase just one thread can access the table, others must wait there. The MyISAM table lock is also used during « system unlocking » though this is not shown in the processlist. If the unlock takes some time, other threads can hang in the « System lock » state.
Unlocking can take some time as the key cache is flushed in this phase. This means all key blocks that have been changed during the (e.g. INSERT) statement are written to the index file. But your key cache is small and should not require much searching for dirty pages (which could increase the CPU usage).
Can you exclude that you hit a disk full condition (or file size limit (ulimit -f))? In this case the key cache flushing can wait for some disk space to become free, hence a long system lock phase.
Otherwise I don’t think that the CPU usage comes from the system lock state. There may be other effects triggered by this situation.