I trued using the CPU Frequency Scaler applet on the panel to increase the CPU speed with no effect. Also, reducing the threshold at which the CPU frequency is raised had no effect either. It turns out that Firefox just doesn't like running across multiple CPUs for some reason. The solution was to restrict Firefox to run on a single core.
This can be accomplished using the linux utility "taskset". The command I used is shown below (run as root):
taskset -c -p 1 `pidof firefox`
- The -c says to use a zero-based number to identify cores (Core 1 is "0", Core 2 is "1", etc). The default is to use a bitmask (more advanced).
- The -p says to reuse the existing pid, and not start a new task.
- Then we specify the core (Core 2 in this case, we could separate them with commas such as "0,1" if we wanted both cores to be used).
- Then we have another command, between backticks (` not ') that finds us the pid (Process ID) of the running Firefox.
This command has to be run every time Firefox starts. I'm looking for a way to change this automatically when Firefox is run - perhaps by changing the menu entry? Any suggestions are welcome!