Why "idle CPU" stays high also during demanding tasks

Discussion in 'MacBook Pro' started by slo-climber, May 6, 2014.

  1. slo-climber macrumors member

    Joined:
    Oct 28, 2013
    #1
    I opened 150 RAW files (26 MB each) in Photoshop simultaneously as layers. Quite demanding task, I think. Opening lasts some time, which is logical. But when I looked into Activity Monitor, under "CPU" tab, the "idle" was still about 60%.

    If I understand right, 60% of CPU power was not used during that process. If that is correct, why computer doesn't take more power to make a process (opening those photos) faster?

    I have 2.6 GHz, which has 4 cores. Is maybe the reason for that, that Photoshop can't take the advantage of several cores?
     
  2. maflynn Moderator

    maflynn

    Staff Member

    Joined:
    May 3, 2009
    Location:
    Boston
    #2
    Perhaps process may be very serial, so the CPU is fulfilling the requests and there's a lot of unused cpu cycles because the app is not calling on the cpu.
     
  3. glenthompson macrumors 68000

    glenthompson

    Joined:
    Apr 27, 2011
    Location:
    Virginia
    #3
    It goes back to something I've always said - most people are not CPU bound in their tasks, they are either memory bound or IO bound. Most are IO bound which is why they see such an improvement switching to a SSD.

    In your case you were opening a large number of large files. Hardly a CPU intensive task but very demanding on disk IO.
     
  4. slo-climber thread starter macrumors member

    Joined:
    Oct 28, 2013
    #4
    So, if I understand right, SSD and RAM don't allow faster opening? BTW, I have 16 GB ram and 512 GB ssd with its known read/write speeds.

    I can't imagine how long would it take with my older PC. Probably, it wouldn't open it at all.
     
  5. simonsi macrumors 601

    simonsi

    Joined:
    Jan 3, 2014
    Location:
    Auckland
    #5
    Yes they allow faster opening (faster than HDD), but the ratio of SSD activity to CPU for that activity isn't causing the CPU to max out.

    If you had an HDD then likely your CPU would have been much lower, the CPU would still have been waiting for the same IO tasks to complete but as those tasks would be taking longer the % CPU utilization would be even lower.

    The "power" it is referring to is CPU cycles (which is a finite limit for each CPU), it isn't possible for the system to add or take any more power than the CPU can physically provide.
     
  6. thundersteele macrumors 68030

    Joined:
    Oct 19, 2011
    Location:
    Switzerland
    #6
    I wonder if there could be a different explanation than storage I/O.

    The quad core i7's have hyperthreading, allowing up to 8 threads to be worked on simultaneously. However the program might decide that hyperthreading isn't beneficial and only run four threads at a time instead. Activity monitor would report this as 50% idle, despite the CPU being under 100% load.

    Might not be relevant here, but it could be a factor :)
     
  7. leman macrumors 604

    Joined:
    Oct 14, 2008
    #7
    Even if you use multiple threads to load data, you will be bound by storage speed in this scenario. In another words, the storage cannot serve the data quick enough to make your CPU sweat. Modern CPUs can do hundreds of operations in the time needed to fetch an item from the RAM, and even the fastest SSDs are still nowhere near RAM.

    Multi threading will be of only limited help because all I/O request go through the kernel anyway. Multithreaded data loading provides a significant benefit only if there is still work to do while some other data is being loaded.
     

Share This Page