smtctl Command
Purpose
The smtctl command controls the enabling and disabling of processor simultaneous multithreading mode.
Syntax
smtctl [ -m off | on [ -w boot | now ]]
smtctl [-t #SMT [-w boot | now ]]
smtctl [-m suspend [-w boot ]]
smtctl [ -m limit [-t #SMT ][-w boot ]]
smtctl [ -m recommended [ -w boot | now ]]
Description
This command is provided for privileged users and applications to control utilization of processors with simultaneous multithreading support. The simultaneous multithreading mode allows processors to have thread level parallelism at the instruction level. This mode can be enabled or disabled for all processors either immediately or on subsequent boots of the system. This command controls the simultaneous multithreading options.
Each individual Simultaneous Multi-threading (SMT) thread of a physical processor core is treated as an independent logical processor by AIX®. The AIX operating system limits the combination of physical processor cores assigned and SMT modes in order to maintain symmetry across all of the physical processor cores assigned to AIX. Due to this limitation, the number of logical processors is less than or equal to 1024 for AIX 7.1 and 256 for AIX 6.1.
- Number of threads
- When booting a P8 Logical Partition (LPAR), the default number of SMT threads is 4. To increase
the default number of SMT threads dynamically, enter:
The change to SMT-8 is effective immediately and reboot is not required. If you want the setting to persist after rebooting, then you must rebuild the boot image with the bosboot command. The default SMT-4 is intended for better performance for existing applications that are not designed or compiled for more than 4 threads.smtctl -m on smtctl -t 8
- Number of cores
- If you have allocated more than 128 cores to an LPAR, by default it uses 128 cores. This is to
ensure that theAIX limit of maximum 1024 logical processors is
not exceeded if SMT-8 is enabled (128 cores * SMT8 = 1024 total). If you want an LPAR to use more
than 128 cores, then you need to run a sequence of following AIX commands to establish a limit to the number of SMT threads that are available per core.
Upon rebooting, AIX negotiates with the firmware to allow up to 256 cores because the operating system's limit of 1024 processors will not be exceeded with the specified limit of 4 SMT threads. You can exceed 256 cores if you run the smtctl command as stated above, but with a limit of 2 instead of 4. The following command suspends SMT capability allowing more cores.smtctl -m limit -t 4 bosboot -a shutdown -Fr
smtctl -m suspend bosboot -a shutdown -Fr
Flags
Item | Description |
---|---|
-m off | Set the simultaneous multithreading mode to
disabled . This option cannot be used with the -t flag. |
-m on | Set the simultaneous multithreading mode to
enabled . By using the -m flag, the maximum number of threads supported per
processor is enabled. This option cannot be used with the -t flag. |
-t #SMT | Set the number of the simultaneous threads per processor. The value may be set to one to disable simultaneous multi-threading. The value may be set to two for systems that support 2-way simultaneous multi-threading and the value may be set to four, for the systems that support 4-way simultaneous multi-threading. |
-w boot | Makes the simultaneous multithreading mode change effective on next and subsequent reboots if you run the bosboot command before the next system reboot. |
-w now | Makes the simultaneous multithreading mode
change immediately but will not persist across reboot. If the -w boot or the -w now option is specified, the mode change is made immediately and will persist subsequent reboots if you run the bosboot command before the next system reboot. |
-m limit | Limits the number of simultaneous multithreading threads to two, or the specified value if the -t flag is used and enables more processor nodes, if available, effective at the next reboot (running bosboot is required to rebuild the boot image). This limit cannot be dynamically changed during run time, and you must reboot to change the operating state. |
-m suspend | Suspends the simultaneous multithreading capability, and enables more processor nodes, if available, effective at the next reboot (running bosboot is required to rebuild the boot image). This limit cannot be dynamically changed during run time, and you must reboot to change the operating state. |
-m recommended | Sets the number of threads to a value that provides the best performance for the most common types of workloads that are based on the underlying physical processor type. This setting takes place immediately. You can also specify -w to start using the new value. |
Item | Description |
---|---|
SMT Capability | Indicator that the physical or virtual processors are capable of simultaneous multithreading. |
SMT Mode | Current runtime simultaneous multithreading mode of disabled or
enabled . |
SMT Boot Mode | Current boot time
simultaneous multithreading mode of disabled or
enabled . |
SMT Threads | Number of simultaneous multithreading threads per physical or virtual processor. |
SMT Bound | Indicator that the simultaneous multithreading threads are bound on the same physical or virtual processor. |
SMT Thread Capability | Maximum number of simultaneous multi-threading threads per physical or virtual processor supported by the system. |
Exit Status
Item | Description |
---|---|
0 | Successfully completed the requested operation. |
>0 | An error occurred. |
Security
Examples
- To enable simultaneous multithreading for the current boot cycle,
enter:
The system displays a message similar to the following:smtctl -m on -w now
smtctl: SMT is now enabled.
- To enable a 2-way simultaneous multithreading on a system that
supports up to 4 way, enter:
The system displays a message similar to the following:smtctl -t 2 -w now
smtctl: SMT is now enabled.
- To view the current simultaneous multithreading mode settings and
processor information, enter:
The system displays a message similar to the following:smtctl
This system is SMT capable. This system supports up to 4 SMT threads per processor SMT is currently enabled. SMT boot mode is set to disabled. proc0 has 2 SMT threads Bind processor 0 is bound with proc0 Bind processor 1 is bound with proc0 proc2 has 2 SMT threads Bind processor 2 is bound with proc2 Bind processor 3 is bound with proc2
- To disable simultaneous multithreading for the current boot cycle
and for all subsequent boots, enter:
The system displays a message similar to the following:smtctl -m off
Another method to disable simultaneous multi-threading for the current boot cycle and for subsequent boots, enter:smtctl: SMT is now disabled. It will persist across reboots if you run the bosboot command before the next reboot.
smtctl -t 1
Note: The boot image must be remade with the bosboot command before the next reboot.
Location
/usr/sbin/smtctl
Files
Item | Description |
---|---|
/usr/sbin/smtctl | Contains the smtctl command. |