mysql version 5.5.25, while use mysqldump to dump big tables, it eat lots of swap while there is lots of free memory.
# free -m
total used free shared buffers cached
Mem: 32177 31427 749 0 208 10747
-/+ buffers/cache: 20471 11705
Swap: 16002 12952 3049
# cat /proc/sys/vm/swappiness
5
#[mysqldump]
quick
max_allowed_packet = 16M
Best Answer
Your problem is, that
mysqldump
normally caches the results it produces.You have to use the
--quick
option, to prevent this.This option is useful for dumping large tables. It forces
mysqldump
to retrieve rows for a table from the server a row at a time rather than retrieving the entire row set and buffering it in memory before writing it out.