Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-1564303.1
Update Date:2018-03-05
Keywords:

Solution Type  Technical Instruction Sure

Solution  1564303.1 :   Sun SPARC(R) Enterprise M3000/M4000/M5000/M8000/M9000 (OPL) Servers: How To Disable CPU's Across The System Reboot  


Related Items
  • Sun SPARC Enterprise M4000 Server
  •  
  • Sun SPARC Enterprise M9000-32 Server
  •  
  • Sun SPARC Enterprise M9000-64 Server
  •  
  • Sun SPARC Enterprise M5000 Server
  •  
  • Sun SPARC Enterprise M8000 Server
  •  
  • Sun SPARC Enterprise M3000 Server
  •  
Related Categories
  • PLA-Support>Sun Systems>SPARC>Enterprise>SN-SPARC: Mx000
  •  
  • _KM>Content>Frequently Asked Questions
  •  




In this Document
Goal
Solution
 How to manage CPU resources
 Example 1 :  Commands to achieve CPU reduction with dynamic reconfiguration of a quad XSB board
 Example 2 :  Commands to achieve CPU offlining with psradm (optionally executed in a start script)
References


Created from <SR 3-7400533461>

Applies to:

Sun SPARC Enterprise M5000 Server - Version All Versions to All Versions [Release All Releases]
Sun SPARC Enterprise M9000-64 Server - Version All Versions to All Versions [Release All Releases]
Sun SPARC Enterprise M9000-32 Server - Version All Versions to All Versions [Release All Releases]
Sun SPARC Enterprise M3000 Server - Version All Versions to All Versions [Release All Releases]
Sun SPARC Enterprise M4000 Server - Version All Versions to All Versions [Release All Releases]
Information in this document applies to any platform.

Goal

How to disable CPU's permanently on Mx000 servers ?
 

Solution

The short answer is: The M-Series does not support a blacklisting mechanism. Hence you can't disable CPU's.


But there are ways to manage CPU resources:

How to manage CPU resources

  1. Physically
    - physical method :  removal of CPU boards
  2. on XSCF
    - dynamic reconfiguration of quad XSB boards ( XSB's containing CPU + memory and optionally IO )
  3. on Solaris
    - psradm, optionally executed in a start script
    - another alternate method may using NON global zones with appropriate CPU resources

 


 

Example 1 :  Commands to achieve CPU reduction with dynamic reconfiguration of a quad XSB board

 (4 CPU's in Solaris = 2 physical cores = 1 CPU chip, but also the associated memory will be deconfigured )

initial prtdiag output before DR operation:
[ snip ]
==================================== CPUs ====================================

      CPU                 CPU                         Run    L2$    CPU   CPU
LSB   Chip                 ID                         MHz     MB    Impl. Mask
---   ----  ----------------------------------------  ----   ---    ----- ----
 00     0      0,   1,   2,   3                       2150   5.0        6  144
 01     1     40,  41,  42,  43                       2150   5.0        6  144

============================ Memory Configuration ============================
[ snip ]

 

XSCF> showdomainstatus -a
DID         Domain Status
00          Running

XSCF> showboards -va
XSB  R DID(LSB) Assignment  Pwr  Conn Conf Test    Fault    COD
---- - -------- ----------- ---- ---- ---- ------- -------- ----
00-0   00(00)   Assigned    y    y    y    Passed  Normal   n
00-1   00(01)   Assigned    y    y    y    Passed  Normal   n
[ snip ]

XSCF> deleteboard -yc unassign 00-1
XSB#00-1 will be unconfigured from domain immediately. Continue?[y|n] :y
Start unconfiguring XSB from domain.
Unconfigured XSB from domain.
XSB power off sequence started. [1200sec]
  0..end
Operation has completed.

XSCF> showboards -va
XSB  R DID(LSB) Assignment  Pwr  Conn Conf Test    Fault    COD
---- - -------- ----------- ---- ---- ---- ------- -------- ----
00-0 * 00(00)   Assigned    n    n    n    Passed  Normal   n
00-1   SP       Available   n    n    n    Passed  Normal   n
[ snip ]

XSCF> showdomainstatus -a
DID         Domain Status
00          Running

 Verification of the result after DR operation took place:

final prtdiag output and psrinfo:

[ snip ]
==================================== CPUs ====================================

      CPU                 CPU                         Run    L2$    CPU   CPU
LSB   Chip                 ID                         MHz     MB    Impl. Mask
---   ----  ----------------------------------------  ----   ---    ----- ----
 00     0      0,   1,   2,   3                       2150   5.0        6  144

============================ Memory Configuration ============================
[ snip ]

bash-3.2# psrinfo
0       on-line   since 07/19/2013 19:57:54
1       on-line   since 07/19/2013 19:57:54
2       on-line   since 07/19/2013 19:57:54
3       on-line   since 07/19/2013 19:57:54




Example 2 :  Commands to achieve CPU offlining with psradm (optionally executed in a start script)

pasradm syntax for offlining CPU's:
psradm -f <cpu#>

initial prtdiag and psrinfo output before rc3 script applied and Solaris rebooted:
[ snip ]
==================================== CPUs ====================================

      CPU                 CPU                         Run    L2$    CPU   CPU
LSB   Chip                 ID                         MHz     MB    Impl. Mask
---   ----  ----------------------------------------  ----   ---    ----- ----
 00     0      0,   1,   2,   3                       2150   5.0        6  144
 01     1     40,  41,  42,  43                       2150   5.0        6  144

============================ Memory Configuration ============================
[ snip ]

bash-3.2# psrinfo
0       on-line   since 07/02/2013 21:22:12
1       on-line   since 07/02/2013 21:22:13
2       on-line   since 07/02/2013 21:22:13
3       on-line   since 07/02/2013 21:22:13
40      on-line   since 07/02/2013 21:22:13
41      on-line   since 07/02/2013 21:22:13
42      on-line   since 07/02/2013 21:22:13
43      on-line   since 07/02/2013 21:22:13

example script:

e.g. saved as  /etc/rc3.d/S98cpu_disable which must be hardlink from /etc/init.d/cpu_disable

bash-3.2# ln /etc/init.d/cpu_disable /etc/rc3.d/S98cpu_disable
bash-3.2# ls -li /etc/init.d/cpu_disable /etc/rc3.d/S98cpu_disable
    201272 -rwxr-xr-x   2 root     root         232 Jul 23 21:09 /etc/init.d/cpu_disable
    201272 -rwxr-xr-x   2 root     root         232 Jul 23 21:09 /etc/rc3.d/S98cpu_disable

example content of /etc/init.d/cpu_disable

#!/bin/sh
#
#  script to disable dedicated cpu's ( every second CPU )
#
index=0
for cpu in `/usr/sbin/psrinfo|/usr/bin/awk '{print $1;}'`; do
  if [ $index -eq 1 ]
  then
    psradm -f $cpu;index=0
  else index=1
  fi
done
exit 0

Verification of the result:   

bash-3.2# last|egrep "psradm|reboot"
psradm    043  off                      Tue Jul 23 22:32   still logged in
psradm    041  off                      Tue Jul 23 22:32   still logged in
psradm    003  off                      Tue Jul 23 22:32   still logged in
psradm    001  off                      Tue Jul 23 22:32   still logged in
reboot    system boot                   Tue Jul 23 22:32
reboot    system down                   Tue Jul 23 22:30
[ snip ]

prtdiag ( unchanged, all CPU's  visible, but not all active ) and psrinfo
[ snip ]
==================================== CPUs ====================================

      CPU                 CPU                         Run    L2$    CPU   CPU
LSB   Chip                 ID                         MHz     MB    Impl. Mask
---   ----  ----------------------------------------  ----   ---    ----- ----
 00     0      0,   1,   2,   3                       2150   5.0        6  144
 01     1     40,  41,  42,  43                       2150   5.0        6  144

============================ Memory Configuration ============================
[ snip]


bash-3.2# psrinfo
0       on-line   since 07/23/2013 22:32:32
1       off-line  since 07/23/2013 22:32:56
2       on-line   since 07/23/2013 22:32:33
3       off-line  since 07/23/2013 22:32:56
40      on-line   since 07/23/2013 22:32:33
41      off-line  since 07/23/2013 22:32:56
42      on-line   since 07/23/2013 22:32:33
43      off-line  since 07/23/2013 22:32:56


Errors for rc3 scripts can be found in /var/svc/log/milestone-multi-user-server:default.log

For more information on lecacy rc scripts usage and trouble shooting please refer to:
"troubleshooting of SMF legacy rc init scripts in Solaris 10 (Doc ID 1438926.1)"
If you referring to Oracle database licensing for a solaris-zone, the following thread in the
My Oracle Support Community may be interesting too
(follow the link to the community and search for the title of the the thread "Capped-CPU for Oracle database licensing in a solaris-zone" using the top right search box)

Capped-CPU for Oracle database licensing in a solaris-zone

 

 

 

 

To discuss this information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in an appropriate
My Oracle Support Community - Oracle Sun Technologies Community.

Moving to internal due to Jive migration: URL for thread redirection changes

re-edit when Jive migration is done after 31 Jan 2014

Capped-CPU for Oracle database licensing in a solaris-zone

once migrated we can update the URL and remove the search recommendation

 

References

<NOTE:1438926.1> - Troubleshooting of SMF Legacy rc init scripts in Solaris 10

Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback