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 processor is less than or equal to 1024 for AIX 7.1 and 256 for AIX 6.1.
- Number of thread
- When booting a P8 Logical Partition (LPAR), the default number
of SMT thread 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 an 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 AIX limit of maximum 1024 logical processors
is not exceeded if SMT-8 is enabled (128 cores * SMT8 = 1024 total).
If you want 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 next boot 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. |