Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
Copyright 2019 Joyent, Inc.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
psrinfo [-p] [-v] [processor_id]...
psrinfo -t [-S state | -c | -p]
psrinfo -r [<propname> | all]
psrinfo displays information about processors. Each physical socket may contain multiple cores, which in turn can contain multiple virtual processors (also referred to as CPUs). Each virtual processor is an entity with its own ID, capable of executing independent threads.
Without the processor_id operand, psrinfo displays one line for each configured processor, displaying whether it is on-line, non-interruptible (designated by no-intr), spare, off-line, faulted, disabled, or powered off, and when that status last changed. Use the processor_id operand to display information about a specific processor. See OPERANDS.
The following options are supported: -c
When used with -t, report the total number of CPU cores.
Display the number of physical sockets in a system. When combined with the -v option, reports additional information about each physical socket.
Report CPU-specific properties that apply to the system as a whole. Supplying "all" will list all such properties in key=value format. Currently, the only defined property is smt_enabled, a boolean property indicating whether simultaneous multi-threading (hyper-threading) is active or not.
When used with -t, report the total number of CPUs in the given state.
Silent mode. Displays 1 if the specified processor is fully on-line, or 0 otherwise. Use silent mode when using psrinfo in shell scripts.
Report totals. Without arguments, reports the total number of CPUs. This can be combined with the -p, -c, or -S options to modify the total.
Verbose mode. Displays additional information about the specified processors, including: processor type, floating point unit type and clock speed. If any of this information cannot be determined, psrinfo displays unknown. When combined with the -p option, reports additional information about each physical processor.
The following operands are supported: processor_id
The processor ID of the processor about which information is to be displayed. Specify processor_id as an individual processor number (for example, 3), multiple processor numbers separated by spaces (for example, 1 2 3), or a range of processor numbers (for example, 1-4). It is also possible to combine ranges and (individual or multiple) processor_ids (for example, 1-3 5 7-8 9). This cannot be specified along with the -r or -t options.
Example 1 Displaying Information About All Configured Processors in Verbose Mode
The following example displays information about all configured processors in verbose mode.
psrinfo -v
Example 2 Determining If a Processor is On-line
The following example uses psrinfo in a shell script to determine if a processor is on-line.
if [ "`psrinfo -s 3 2> /dev/null`" -eq 1 ] then echo "processor 3 is up" fi
Example 3 Displaying Information About the Physical Sockets in the System
Use the -tp options to report the number of sockets.
> psrinfo -tp 2
Without the -t option, -p also takes processor IDs:
> psrinfo -p 0 28 # IDs 0 and 28 exist on the 1 # same socket > psrinfo -p 0 1 # IDs 0 and 1 exist on different 2 # sockets
In this example, virtual processors 0 and 28 exist on the same socket. Virtual processors 0 and 1 do not. This is specific to this example and is and not a general rule.
The following exit values are returned: 0
Successful completion.
An error occurred.
p_online (2), processor_info (2), attributes (7), psradm (8)
The specified processor does not exist.