20210628 - Upgrade of php fixed the page rendering issue.

Welcome to the Slackware Documentation Project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
howtos:hardware:processor_affinity [2013/01/13 18:04 (UTC)]
hazel [Processor affinity]
howtos:hardware:processor_affinity [2013/01/13 18:12 (UTC)] (current)
hazel [Taskset]
Line 17: Line 17:
 Because the scheduler will do its best to keep processes running on the same CPU (as long as this is beneficial to overall performance) you usually do not have to interfere. However, some cases warrant pinning a process to a single CPU or a predefined subset. Let's look at two examples; the second will be discussed in more detail. Because the scheduler will do its best to keep processes running on the same CPU (as long as this is beneficial to overall performance) you usually do not have to interfere. However, some cases warrant pinning a process to a single CPU or a predefined subset. Let's look at two examples; the second will be discussed in more detail.
  
-  - Commercial database vendors like [[http://www.oracle.com/products/database/overview/|Oracle DB]] or [[http://www-01.ibm.com/software/data/db2/|IBM DB2]] want you to pay per CPU. Typically, database servers have a massive amount of CPU cores and you want to be able to decide how much to pay for your database (more performance would meanmore cost)+  - Commercial database vendors like [[http://www.oracle.com/products/database/overview/|Oracle DB]] or [[http://www-01.ibm.com/software/data/db2/|IBM DB2]] want you to pay per CPU. Typically, database servers have a massive amount of CPU cores and you want to be able to decide how much to pay for your database (more performance would mean more cost)
   - One process on a busy server is eating so many of your multi-CPU processor cycles that other programs' performance starts to suffer. Limiting your runaway process to a single CPU will free up resources for your other programs.   - One process on a busy server is eating so many of your multi-CPU processor cycles that other programs' performance starts to suffer. Limiting your runaway process to a single CPU will free up resources for your other programs.
  
Line 28: Line 28:
  
  
-Slackware has a tool for setting the processor affinity for a certain task or process. It is called "''taskset''" and is part of the ''util-linux'' package. Run "''man 1 taskset''" if you want to know more about its purpose and commandline syntax.+Slackware has a tool for setting the processor affinity for a certain task or process. It is called "''taskset''" and is part of the ''util-linux'' package. Run "''man 1 taskset''" if you want to know more about its purpose and command line syntax.
  
 <note>The ''taskset'' command is used to set or retrieve the CPU affinity of a running process given its PID, or to launch a new COMMAND with a given CPU affinity.</note> <note>The ''taskset'' command is used to set or retrieve the CPU affinity of a running process given its PID, or to launch a new COMMAND with a given CPU affinity.</note>
Line 38: Line 38:
 0xffffffff means all processors (#0 through #31) 0xffffffff means all processors (#0 through #31)
 </code> </code>
-Luckily you can use human-readable numbers instead of a bitmask if you add the "-c" commandline parameter.+Luckily you can use human-readable numbers instead of a bitmask if you add the "-c" command line parameter.
  
 Examples: Examples:
Line 47: Line 47:
 </code> Confused by hexadecimal numbers? Then use the human-readable version: <code> </code> Confused by hexadecimal numbers? Then use the human-readable version: <code>
 $ taskset -cp 1 1337 $ taskset -cp 1 1337
-</code> You may notice the strange order of commandline options and arguments; first come all the options and then follow the argument values in pre-defined order... ''man taskset(1)'' is your friend. +</code> You may notice the strange order of command line options and arguments; first come all the options and then follow the argument values in pre-defined order... ''man taskset(1)'' is your friend. 
-  * To start a new process with a fixed CPU affinity, you omit the "-p" switch and append a commandline, like this real-world example of starting a Minecraft server: <code>+  * To start a new process with a fixed CPU affinity, you omit the "-p" switch and append a command line, like this real-world example of starting a Minecraft server: <code>
 $ taskset -c 3 java -Xmx1024M -jar minecraft_server.jar nogui $ taskset -c 3 java -Xmx1024M -jar minecraft_server.jar nogui
 </code> which ties the Java process to the 4th CPU in your computer. The effect of this will be //immediately// obvious. </code> which ties the Java process to the 4th CPU in your computer. The effect of this will be //immediately// obvious.

In Other Languages
QR Code
QR Code howtos:hardware:processor_affinity (generated for current page)