System Administrator Cheat Sheet. 2009.03.04 - Parallelizing Jobs with xargs. With multi-core processors sitting idle most of the time and workloads always increasing, it's important to have easy ways to make the CPUs earn their money's worth.
My colleague Georgios Gousios told me today how the Unix xargs command can help in this regard. The GNU xargs command that comes with Linux and the one distributed with FreeBSD support a -P option through which one can specify the number of jobs to run in parallel. Using this flag (perhaps in conjunction with -n to limit the number of arguments passed to the executing program), makes it easy to fire commands in parallel in a controlled fashion. Georgios sent me an example, where he sped up a job by almost seven times through this technique. BashPitfalls - Greg's Wiki. This page shows common errors that Bash programmers make. These examples are all flawed in some way. You will save yourself from many of these pitfalls if you simply always use quotes and never use WordSplitting for any reason!