I noticed a strange difference in the way CPU is loaded on my 64bit RHEL58 box. I needed to process several files with one program called FastQC, which is a Java applet/application and allows multithreaded use by specifying number of threads. The box has two physical quad core CPUs with hyperthreading, so 16 cores are visible to OS and are reported as separate cores. The box has 96 GB of memory.
Anyway, as the file names are long, to save typing I created a small script:
fastqc -t 10 file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
When the script launched, all ten files are opened for processing at once, but "top" shows that CPU load is about 20-23%, which was surprising for 10 threads, so I killed the run.
Then I simply copied the command line and pasted it at the promt:
yaximik$ fastqc -t 10 file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
Again, all 10 files were opend for processing, but the CPU load jumped to 80% and the job was finished much faster.
Can anyone exmplain the differences?