Review your favorite Linux distribution.
Go Back > Forums > Linux Forums > Linux - Newbie
User Name
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!


  Search this Thread
Old 01-19-2012, 09:31 PM   #1
LQ Newbie
Registered: Feb 2010
Posts: 14

Rep: Reputation: 0
Unhappy Unable to utilize all CPUs on RedHat


Currently, we have a system which shows 24 CPUs in 'top'. This system runs on Linux (RHEL 5.5 x86 64bit to be exact). This system/server is being used for data processing/analysis.

Previously, we were running individual processes. Each process will occupy 1 cpu 100%, this process is heavily CPU bound and will normally run for a few hours to few days (depending on data size analysed).

For some reason, when we run 24 of these processes concurrently, only 12 of the CPU is being utilized, or I should say, only the first 12 CPUs are serving these 24 processes.

Just to make sure that this is not an application error, we tried with OS-bundled program (e.g 'dd') and managed replicated the same symptoms. We run the following, 24 times :

$ dd if=/dev/urandom of=/dev/null &

..and again, only 12CPUs (from top output) is serving these 24 'dd' processes.

The question is, how can we enable the OS to utilize all 24 CPUs available on our system? E.g Is there any specific kernel parameter needed to be changed, etc ?

Old 01-19-2012, 10:26 PM   #2
Senior Member
Registered: Sep 2009
Location: Orange County, CA
Distribution: Kubuntu x64, Raspbian, CentOS
Posts: 1,860
Blog Entries: 36

Rep: Reputation: 458Reputation: 458Reputation: 458Reputation: 458Reputation: 458
Perhaps by setting the processor affinity will resolve your issue.

I have it pre-installed on a RedHat 6.x server at work. It's part of the util-linux-ng package.

yum provides */taskset
yum install util-linux-ng
man taskset
You could test to see if taskset works as desired on your system with the following simple bash script.
for i in {0..23};do
  dd if=/dev/urandom of=/dev/null &
  #$i is from the loop
  #$! is the pid of the last run background process
  taskset -c $i $!
When you're done killall dd.


Last edited by sag47; 01-20-2012 at 07:23 AM.
1 members found this post helpful.
Old 01-20-2012, 06:13 AM   #3
LQ Newbie
Registered: Feb 2010
Posts: 14

Original Poster
Rep: Reputation: 0

Thank you for your suggestion!
Indeed, 'taskset' does what it claims to do and I learn something new today, yay!

If I understand correctly, right now, if we were to use 'taskset', all the users have to manually check which CPUs are not 'busy' (so to say), say by using 'top' and run 'taskset' _manually_ to set the process to occupy idle CPUs.

I guess, we will use this manual way incase there is no other way.
But, for now, any other workarounds to disable the CPU count limit are welcome.


cpu, limit, processes, redhat, rhel

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
how to utilize 2 connections at once? rabbit2345 Linux - Networking 1 09-13-2010 03:05 AM
Unable to fully utilize RAID disk? jys17 Linux - General 3 03-01-2009 08:05 PM
Utilize passphrase created smallbook Linux - Security 9 01-28-2008 03:05 AM
Does Redhat 9 support dual CPUs? nyy Red Hat 2 09-30-2004 09:29 AM
Turning On/Off CPUs with Redhat 7.1 macnanc Linux - Hardware 2 03-10-2003 05:38 AM > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 01:13 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration