Windows 8 and 8.1 Forums


CPU Affinity Shortcut for a Program - Create in Windows

  1. #1
    CPU Affinity Shortcut for a Program - Create in Windows

    CPU Affinity Shortcut for a Program - Create in Windows
    How to Create a Shortcut to Run an Application with a Set CPU Affinity in Windows
    Published by Brink is offline
    03 Feb 2014
    Default CPU Affinity Shortcut for a Program - Create in Windows

    Published by


    Brink's Avatar
    Administrator

    Join Date: Jul 2009
    Posts: 21,825

    How to Create a Shortcut to Run an Application with a Set CPU Affinity in Windows


    information   Information
    Processor affinity or CPU Pinning enables the binding and un-binding of a process or thread to a physical CPU or a range of CPUs, so that the process or thread in question will run only on the CPU or range of CPUs in question, rather than being able to run on any CPU

    By default, Windows runs an application on all available cores of the processor. If you have a multi-core processor, then this tutorial will show you how to set the processor affinity of an application to control which core(s) of the processor the application will run on.

    If the application and CPU supports Symmetric Multiprocessing (SMP) or HyperThreading (HT), then Windows will automatically adjust the application's usage of each processor core for the best performance. You will not gain much, if anything, from manually changing the processor affinity for these type of applications.

    If you have more then one processor intensive applications running, then you could improve their performance by setting the processor affinity of their processes to run on a different core(s). This way they are not competing for the resources of the same core(s).


    This tutorial will show you how to create a shortcut that will always run an application with a set CPU affinity by default in XP, Vista, Windows 7, and Windows 8.




    Here's How:

    1. This step will show you how many CPU cores you have, and how to figure the hex value to use at step 3 below for the CPU(s) you want to run the application on.

    NOTE: If you should need any assistance with this step, then please feel free to post. I'll be happy to help.


    A) Open Task Manager (CTRL+Shift+ESC) in more details view, click/tap on the Processes (XP, Vista, Windows 7) OR Details (Windows 8) tab, right click or press and hold on any process in the Name column, and click/tap on Set affinity. (see screenshot below)

    NOTE: This will show you how many CPU cores you have. I have 12 CPU cores numbered from 0 to 11.

    Click image for larger version

    B) For how many CPU cores you have will also be how long the binary number will be. Since I have 12 CPU cores, the binary number will be 12 zeros 000000000000. Each zero in the binary number represents a CPU core number from right to left. In my case with 12 CPU cores, the far right 0 in the binary number will be for CPU 0, and the far left 0 will be for CPU 11. (see screenshot below)

    C) For each CPU number you want to run the application on, replace 0 (off) with 1 (on) in the binary number for the CPU numbers.

    For example, if I wanted to run the application only on CPU 0, then my binary number would be changed to 000000000001. To run the application on CPU 0 and CPU 3, I would use 000000001001. (see screenshot below)

    Name:  binary.jpg
Views: 61987
Size:  34.9 KB

    D) Go the website below, and type your binary number from step 1C above into the Binary field. This will convert the binary number to a hexadecimal (hex) that you will need to use at step 3 below.
    For example, with my 000000000001 binary number, I get a hex value of 1. (see screenshot below)

    Name:  Binary-Decimal-Hexadecimal-Converter.png
Views: 61402
Size:  21.7 KB


    2. Right click or press and hold on an empty area of your desktop, and click/tap on New and Shortcut.

    3. Type the command below into the location area, and click/tap on the Next button. (see screenshot below)


    cmd.exe /c start "Program Name" /affinity # "Full path of application file"


    For example: I would type this command below exactly if I wanted to create a shortcut to run Process Monitor on only CPU 0 (step 1), and it's .exe file is located at "E:\Programs\Process Monitor 3.05\Procmon.exe".

    (For only on CPU 0)
    cmd.exe /c start "Process Monitor" /affinity 1 "E:\Programs\Process Monitor 3.05\Procmon.exe"

    (For on CPU 0 and CPU 3)
    cmd.exe /c start "Process Monitor" /affinity 9 "E:\Programs\Process Monitor 3.05\Procmon.exe"


    Note   Note
    Substitute Program Name in the command with the actual program's name within quotes.

    Substitute # in the command for the affinity # with the hex value (ex: 1) from step 1D above.

    Substitute Full path of application file in the command with the full path of the file within quotes.



    Name:  shortcut-1.jpg
Views: 61348
Size:  50.9 KB

    4. Type any name you would like to give the shortcut, and click/tap on the Finish button. (see screenshot below)

    Name:  shortcut-2.jpg
Views: 61271
Size:  38.8 KB

    5. Right click or press and hold on the new shortcut, and click/tap on Properties.

    6. Click/tap on the Shortcut tab, then click/tap on the Change Icon button. (see screenshot below)

    Name:  Shortcut-3.png
Views: 61287
Size:  27.1 KB

    7. In the line under "Look for icons in this file", copy and paste the same full path of the application file used in the shortcut below, and press Enter. (see screenshot below)

    For example: E:\Programs\Process Monitor 3.05\Procmon.exe


    Name:  Shortcut-4.jpg
Views: 61218
Size:  36.3 KB

    8. Select (highlight) the icon you want for the shortcut, and click/tap on OK. (see screenshot above)
    NOTE: You can use any icon that you would like instead though.

    9. Click/tap on OK. (see screenshot below step 6)

    10. In Vista and Windows 7, you can now Pin to Taskbar (Windows 7 only) or Pin to Start Menu, add to Quick Launch, assign a keyboard shortcut to it, or move this shortcut to where you like for easy use.

    11. In Windows 8, you can Pin to Taskbar on desktop, Pin to Start screen, add to Quick Launch, assign a keyboard shortcut to it, or move this shortcut to where you like for easy use.



    That's it,
    Shawn


  2. #1


    Dhaka, Bangladesh
    Posts : 2
    Microsoft Windows 7 Ultimate x64


    This is a very helpful and in detail guideline on having permanent CPU affinity set with some program. However, my recent experiences makes me to realize that setting affinity is not actually that much practically safer strategy for a CPU hog application, it still risks blowing out one or more CPU cores. The closest and safest alternate is to limit maximum processor state in power configuration. I run media transcoding operations on a regular basis and my system is a Plex Media Server too, thus the system often undergoes media transcoding processes and it is a real pain to keep an eye on the system when I am not at home. Also, the affinity solution is not really that much practical for service controlled programs.

    The best I came up with is to set the power configuration to "High performance" with a setting of maximum processor state to 80% on main power line (it goes fine with 85% but I just reserved the 5% for other simple operations to keep within the margin). This way, the CPU hungry processes still run at their optimum performance without having me to worry about CPU over heat/load. This also sets me free from actually figuring out which applications should be throttled and which not.

    The peace of mind is that my CPU no more makes panic whistles and am sleeping like a trunk

      My System SpecsSystem Spec

  3. #2


    Posts : 21,825
    64-bit Windows 10


    Hello SkJoy, and welcome to Eight Forums.

    I agree. Windows usually does a great job of managing your system resources. I find this is useful if you wanted to use it on a program to either give it more or less CPU resources if it doesn't perform how you want it normally.
      My System SpecsSystem Spec

  4. #3


    Dhaka, Bangladesh
    Posts : 2
    Microsoft Windows 7 Ultimate x64


    Quote Originally Posted by Brink View Post
    Hello SkJoy, and welcome to Eight Forums.

    I agree. Windows usually does a great job of managing your system resources. I find this is useful if you wanted to use it on a program to either give it more or less CPU resources if it doesn't perform how you want it normally.
    Yeah this is especially helpful with specific applications where slowing down is a necessity, like arcade game emulators.
      My System SpecsSystem Spec


  5. #4


    Posts : 50
    windows 8.1 and server 2012 R2


    it'd be nice to see the final version of the sohrt cut with a screen shot, where everything is entered is it in the target field, or in the start in field, and what they look like..
      My System SpecsSystem Spec

  6. #5


    Posts : 21,825
    64-bit Windows 10


    Hello m18xr2,

    The examples under step 3 is what would be in the target field.
      My System SpecsSystem Spec

  7. #6


    Posts : 1
    Windows 8.1


    Thanks so much! I was just thinking about how to set this up for Minecraft, since it can only use one core anyways, and this solution is so simple and works perfectly!
      My System SpecsSystem Spec

  8. #7


    Posts : 21,825
    64-bit Windows 10


    You're most welcome thaecrasis. I'm glad it could help.
      My System SpecsSystem Spec

  9. #8


    Posts : 4
    Windows 10


    Does anyone know how to do this for windows 10 pro? This doesnt seem to work for me. Below is my shortcut. I have an 8 core CPU (4790K) and id like cores 4,5,6,7 to be used.


    C:\Windows\System32\cmd.exe /c start "FarCry4.exe" /affinity F "C:\Games\Far Cry 4\bin\FarCry4.exe" -skipintro 1
      My System SpecsSystem Spec

  10. #9


    Posts : 21,825
    64-bit Windows 10


    Hello IOKBB, and welcome to Eight Forums.

    Games can be a bit more tricky since the .exe often loads other processes for it.

    How does the command below run without the -skipintro 1 switch on it?

    cmd.exe /c start "FarCry4.exe" /affinity F "C:\Games\Far Cry 4\bin\FarCry4.exe"
      My System SpecsSystem Spec

Page 1 of 3 123 LastLast
CPU Affinity Shortcut for a Program - Create in Windows

Similar Threads
Tutorial Forum
CPU Priority Shortcut for a Program - Create in Windows
How to Create a Shortcut to Run an Application with a Specific CPU Priority in Windows Windows shares the processor time between all running processes based upon their priority level. If a process has a higher priority, it gets more processor time compared to a process having a lower priority....
Tutorials
Facebook App Shortcut- Create in Windows 8.1
How to Create a "Facebook" App Shortcut in Windows 8.1 The Facebook app for Windows 8.1 is now available to download in the Windows Store. With Facebook for Windows 8.1, you get direct access to your Facebook News Feed right from your Start screen where you can stay connected with your...
Tutorials
Calculator App Shortcut - Create in Windows 8.1
How to Create a Calculator App Shortcut in Windows 8.1 The Calculator app included in Windows 8.1 is a simple yet powerful app that includes a standard calculator, a scientific calculator, and a unit converter. Whether you’re using it to add up a bill, convert a recipe, or complete algebra,...
Tutorials
Reader App Shortcut - Create in Windows 8.1
How to Create a Reader App Shortcut in Windows 8.1 The Reader app is included in Windows 8.1 by default and helps you open and view PDF, XPS, and TIFF files. Reader lets you search for words or phrases, take notes, fill in forms, and print or share documents. For more information, see: ...
Tutorials
Photos App Shortcut - Create in Windows 8
How to Create a Photos App Shortcut in Windows 8 and 8.1 The Photos app is included by default in Windows 8 and brings all of your pictures and home movies together in one place - even if they're on Facebook, Flickr, OneDrive, or another PC. For more information, see: Photos app for Windows...
Tutorials
Switcher Shortcut - Create in Windows 8
How to Create a "Switcher" Shortcut in Windows 8 and 8.1 This tutorial will show you how to download and use a "Switcher" shortcut that opens directly to the Switch List bar to easily switch between opened Metro apps, Metro screens, and desktop in Windows 8, Windows RT, Windows 8.1, and...
Tutorials
Run Shortcut - Create in Windows 8
How to Create a "Run" Command Dialog Box Shortcut in Windows 8 This tutorial will show how to create or download a Run shortcut that opens directly to the Run command dialog box on your desktop in Windows 8. The default keyboard shortcut to open the "Run" command dialog box is: Windows + R ...
Tutorials

Eight Forums Android App Eight Forums IOS App Follow us on Facebook