WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Resources
    • Nested Virtualization
  • VMware Nostalgia
  • Apple

Configuring ESXi Power Management Policy Using the CLI

08.18.2012 by William Lam // 12 Comments

An interesting question on the VMTN forum caught my eye today, which was around configuring ESXi's Power Management Policy using the command-line via a kickstart script. I found this question to be interesting as I never had to tweak this configuration and was curious myself to see how you might be able to perform this via the command-line as I never recall seeing a command relating to the power management settings.

After a few minutes of digging, I found that the standard set of CLI's such as ESXCLI, vim-cmd, etc. do not provide a way to configure ESXi's power management settings but did find it was possible using my other favorite "not officially supported" CLI called vsish. Now, you can of course create a remote script using the vSphere API to configure this setting, but if you are looking to modify this within a kickstart script, this is route you will want to take.

UPDATE (01/12/15) - I just found out today from Engineering that it is possible to configure ESXi power management policy using ESXCLI. Though the parameters are currently set to hidden, you can use the following command to set the appropriate policy based on your enviornment.

esxcli system settings advanced set --option=/Power/CpuPolicy --string-value="High Performance"

UPDATE (11/04/14) - It turns out configuration changes made directly through vsish do not persist after a reboot, this might be problematic for most of you 😉 Luckily, Alan Castonguay who works in our GSS organization reached out and created a nice pyvmomi (vSphere SDK or Python) script that can be executed in the ESXi shell and of course it can easily be integrated into a Kickstart script. I have tested his sample script to verify its functionality and have also checked it into my Github repository so that others can benefit from. You can download the script which I have named configure_esxi_power_policy.py

If you run the script without any arguments, it will display the current power policy that has been enabled as seen in the screenshot below:

configure-esx-power-policy-0
To change the policy, you will need to specify the "shortName" power policy, in this example I want to change it from "static" to "low":

configure-esx-power-policy-1
To check whether your ESXi host supports power management, run the following command:

~ # vsish -e get /power/hardwareSupport
Hardware power management support {
CPU power management:Enhanced Intel SpeedStep(R)
Memory power management:Not available
}

To view the current power management setting, run the following command:

~ # vsish -e get /power/currentPolicy
Host power management policy {
ID: 2
Short name:dynamic
Long name:Balanced
Description:Reduce energy consumption with minimal performance compromise
}

Just like the vSphere Client, you have 4 options which maps to the "ID" property as seen above. You can get more details by querying each of the policy (1-4), here is an example:

~ # vsish -e get /power/policy/1
Host power management policy {
ID: 1
Short name:static
Long name:High Performance
Description:Do not use any power management features
}

Here's a quick table that maps the policy ID to power management policy which is the same order as shown in the vSphere Client:

Policy ID Power Management Policy
1 High Performance
2 Balanced
3 Lower Power
4 Custom

To change the power management policy, run the following command:

~ # vsish -e set /power/currentPolicy 1

So now you can integrate power management settings in your ESXi kickstart script for automated deployment and configurations!

Categories // Uncategorized Tags // cli, power management, power policy, vsish

New vSphere 4.1 CLI Utilities Marketing Did Not Tell You About Part 3

07.13.2010 by William Lam // Leave a Comment

Following part1 and part2 of new vSphere 4.1 CLI Utilities, here are some new vimsh commands:

For ESX use /usr/bin/vmware-vim-cmd
For ESXi use /bin/vim-cmd

1. vmsvc/power.suspendResume is used for vMotion and sVMotion tasks before switching over to the new VM.

[root@esx4-1 ~]# vmware-vim-cmd vmsvc/power.suspendResume
Insufficient arguments.
Usage: power.suspendResume vmid

Suspend & resume the specified virtual machine.

2. vmsvc/queryftcompat allows you to query a given Virtual Machine to check for Fault Tolerance compatibility.

[root@esx4-1 ~]# vmware-vim-cmd vmsvc/queryftcompat
Insufficient arguments.
Usage: queryftcompat vmid

Query FT compatibility for a VM.

3. vimsvc/auth/lockdown_is_enabled allows you to query if the host has the lockdown feature enabled, this is only applicable to ESXi.

~ # vim-cmd vimsvc/auth/lockdown_is_enabled
false

4. vimsvc/auth/lockdown_is_possible allows you to check if you can put the host into lockdown mode.

~ # vim-cmd vimsvc/auth/lockdown_is_possible
true

5. vimsvc/auth/lockdown_mode_enter allows you to enter lockdown mode on an ESXi host.

~ # vim-cmd vimsvc/auth/lockdown_mode_enter

6. vimsvc/auth/lockdown_mode_exit allows you to exit lockdown mode on an ESXi host.

~ # vim-cmd vimsvc/auth/lockdown_mode_exit

The next two commands refer to the following services which can also be configured using the vSphere Client:

7. hostsvc/start_local_tsm allows you to enable Local Tech Support Mode on an ESXi host.

~ # vim-cmd hostsvc/start_local_tsm

8. hostsvc/start_remote_tsm  allows you to enable Remote Tech Support Mode (SSH access) on an ESXi host.

~ # vim-cmd hostsvc/start_remote_tsm

9. hostsvc/stop_local_tsm allows you to disable Local Tech Support Mode on an ESXi host.

~ # vim-cmd hostsvc/stop_local_tsm

10. hostsvc/stop_remote_tsm allows you to disable Remote Tech Support Mode (SSH access) on an ESXi host.

~ # vim-cmd hostsvc/stop_remote_tsm

Categories // Uncategorized Tags // cli, vimsh, vSphere 4.1

New vSphere 4.1 CLI Utilities Marketing Did Not Tell You About Part 2

07.13.2010 by William Lam // 1 Comment

Continuing from Part1 of new vSphere 4.1 CLI Utilities, here are few more:

1. vmkload_app64 is a 64bit version of the VMkernel application loader.

[root@esx4-1 bin]# /usr/lib/vmware/bin/vmkload_app64 -h

Usage: vmkload_app [options]
--nocore|-n Disable core dump for this world
--enableDebug|-d Enable userworld debug wait after core
--break|-b [wid] Break a userworld into the debugger
(only specify world id when not creating
or connecting to a userworld)
--kill|-k Send signal 'signum' to a running userworld
(only works with vmx worlds)
--ouputCartelID|-o Output cartel ID and other info to
--setsid|-S Run vmkload_app in a new session
--workingdir|-w Use as userworld working directory (defaults to current)
--env|-v Add environment variable to
userWorldApp's environment
--ipSocketType|-i Set the type for IPv4 sockets, where
is one of 'proxied', 'vmktcp', or 'costcp'
--sched.group= Set scheduler group
--sched.cpu.units= Set units (mhz or pct) for cpu rates
--sched.cpu.min= Set minimum cpu rate
--sched.cpu.max= Set maximum cpu rate
--sched.cpu.minLimit= Set upper bound for minimum cpu rate
--sched.cpu.shares= Set cpu share allocation
--sched.cpu.affinity= Set affinity towards pcpus
--sched.mem.min= Set minimum memory allocation (MB)
--sched.mem.max= Set maximum memory allocation (MB)
--sched.mem.minLimit= Set upper bound for minimum memory growth (MB)
--sched.mem.shares= Set memory share allocation
--sched.swap.scope= Set swap scope (none, private, system)
--sched.swap.dir=[dir] Set directory for swap file
--sched.swap.file= Set swap file name
--sched.memSizeLimit= Set upper bound on address-space size (MB)
--help|-h This message

2. vmware-usbarbitrator is a utility for allowing VMs to connect to the host's USB devices.
[root@esx4-1 bin]# /usr/lib/vmware/bin/vmware-usbarbitrator

3. vprobed looks to be a utility for running the vProbe daemon.

[root@esx4-1 bin]# /usr/lib/vmware/bin/vprobed -h

Error: vprobed takes no arguments.
4. vmkiscsiadm was a pretty well known tool used to configure and troubleshoot iSCSI on ESX. However, it has been removed with the release of vSphere 4.1.

5. vmkiscsi-tool has been updated with some new options:

[root@esx4-1 ~]# /usr/sbin/vmkiscsi-tool -h
vmkiscsi-tool -h --help
-A --Authentication
-C --connection
-D --discovery
-E --session
-I --iSCSIname
-L --Lun
-M --MTU
-N --Network: network properties
-O --Associate: Associate/Disassociate route.
-P --Phba
-R --discoveryStatus : Print discovery status.
-S --static: Static Discovery Targets
-T --Target
-U --Route: Route table.
-V --Nic
-W --Parameter
-X --Reset
-Y --SetNicList
-c --ipconfig: enable/disable DHCP, ARP redirect
-d --dnsserver
-e --ethernet: Link Status
-g --gateway
-i --ipAddress
-k --Alias
-n --iSNS
-p --Pnp: Physical Network Portal properties (pnic)
-q --Lnp: Logical Network Portal properties (vmknic)
-s --subnetmask
-v --version
Subcommands
-l --list
-r --remove
-a --add
-m --authMethod : specify method for add/remove
-b --mutual CHAP
-j --persist changes
-y --per dynamic discovery
-x --per static discovery
-z --per network portal (binded vmknic)
-t --per target
-u --per isid(session)
-f --flag: set a discovery or authentication flag
adapterName
Combine -l with an option to display the current information.

6. vmkiscsi-test is a new iSCSI utility to test various components and provides a summary at the end with the checks that ran, failed and passed:

[root@esx4-1 ~]# /usr/sbin/vmkiscsi-test

CUnit - A Unit testing framework for C - Version 1.1-1
http://cunit.sourceforge.net/

Suite: general - General Tests
Test: IMA_NullParameters ... passed
Test: IMA_VMW_NullParameters ... passed
Test: IMA_BadOids ... passed
Test: IMA_VMW_BadOids ... passed
Suite: Info - Library and Plugin Tests
Test: IMA_GetLibraryProperties ... passed
Test: IMA_GetPluginOidList ... passed
Test: IMA_GetPluginProperties ... passed
Suite: Adapter - Adapter Tests
Test: IMA_GetPhbaOidList ... passed
Test: IMA_GetPhbaProperties ... passed
Test: IMA_VMW_GetPhbaProperties ... passed
Test: IMA_GetLhbaOidList ... passed
Test: IMA_VMW_GetLhbaOidList ... passed
Test: IMA_GetLhbaProperties ... passed
Test: IMA_VMW_GetLhbaProperties ... passed
Suite: Portals - Portals Tests
Test: IMA_GetNetworkPortalOidList ... passed
Test: IMA_VMW_GetNetworkPortalOidList ... passed
Test: IMA_GetPnpOidList ... passed
Suite: Discovery - Discovery Tests
Test: IMA_GetDiscoveryProperties ... passed
Test: IMA_SetIsnsDiscovery ... passed
Test: IMA_SetSlpDiscovery ... passed
Test: IMA_SetStaticDiscovery ... passed
Test: IMA_SetSendTargetsDiscovery ... passed
Test: Static Discovery ... passed
Test: Dynamic Discovery ... passed
Suite: Properties - Standard Properties Tests
Test: IMA_GetDataPduInOrderProperties ... passed
Test: IMA_GetDataSequenceInOrderProperties ... passed
Test: IMA_GetDefaultTime2RetainProperties ... passed
Test: IMA_GetDefaultTime2WaitProperties ... passed
Test: IMA_GetErrorRecoveryLevelProperties ... passed
Test: IMA_GetFirstBurstLengthProperties ... passed
Test: IMA_GetIFMarkerProperties ... passed
Test: IMA_GetImmediateDataProperties ... passed
Test: IMA_GetInitialR2TProperties ... passed
Test: IMA_GetMaxBurstLengthProperties ... passed
Test: IMA_GetMaxConnectionsProperties ... passed
Test: IMA_GetMaxOutstandingR2TProperties ... passed
Test: IMA_GetMaxRecvDataSegmentLengthProperties ... passed
Test: IMA_GetOFMarkerProperties ... passed
Suite: VMW Properties - VMware Properties Tests
Test: IMA_VMW_ArpRedirectProperties ... passed
Test: IMA_VMW_MtuProperties ... passed
Suite: Auth - Auth Tests
Test: IMA_GetInUseInitiatorAuthMethods ... passed
Test: IMA_VMW_GetInUseInitiatorLocalAuthMethods ... passed
Test: IMA_SetInitiatorAuthMethods ... passed
Test: IMA_VMW_SetInitiatorLocalAuthMethods ... passed
Test: IMA_GetInitiatorAuthParms ... passed
Test: IMA_VMW_GetInitiatorAuthParms ... passed
Test: IMA_SetInitiatorAuthParms ... passed
Test: IMA_VMW_SetInitiatorAuthParms ... passed
Test: IMA_VMW_GetMutualAuthParms ... passed
Test: IMA_VMW_SetMutualAuthParms ... passed
Test: IMA_GetLhbaMutualAuthParmsList ... passed
Test: IMA_GetMutualLocalAuthParms ... passed
Test: IMA_GetMutualLocalAuth ... passed
Test: IMA_RemoveLhbaMutualAuthParms ... passed
Test: IMA_AddLhbaMutualAuthParms ... passed

--Run Summary: Type Total Ran Passed Failed
suites 8 8 n/a 0
tests 55 55 55 0
asserts 495 495 495 0
Asserts Skipped: 0
Tests Skipped: 0
Ignore Flags:

7. vmfs-support is a new shell script that uses vmkfstools -D and recursively dumps information about all files given a VMFS folder or file (This utility is only found on ESXi 4.1).

~ # ash /sbin/vmfs-support
Usage: vmfs-support /

~ # ash /sbin/vmfs-support /vmfs/volumes/iSCSI-1/

vmkfstools -D /vmfs/volumes/iSCSI-1/.fbb.sf
Lock [type 10c00001 offset 4294656 v 3, hb offset 3866624
gen 73, mode 0, owner 00000000-00000000-0000-000000000000 mtime 2656]
Addr <4, 0, 1>, gen 1, links 1, type sys, flags 0, uid 0, gid 0, mode 400
len 98304, nb 1 tbz 0, cow 0, zla 1, bs 1048576
vmkfstools -D /vmfs/volumes/iSCSI-1/.fdc.sf
Lock [type 10c00001 offset 4296704 v 1, hb offset 0
gen 0, mode 0, owner 00000000-00000000-0000-000000000000 mtime 16020]
Addr <4, 0, 2>, gen 1, links 1, type sys, flags 0, uid 0, gid 0, mode 400
len 31129600, nb 30 tbz 0, cow 0, zla 1, bs 1048576
vmkfstools -D /vmfs/volumes/iSCSI-1/.pbc.sf
.....
.....
.....

8.  The well known nc utility has been added to unsupported Busybox console of ESXi 4.1.

~ # /bin/nc
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port]
[-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]

9. vdu is a new utility that provides disk utilization information, similar to that of UNIX/Linux du (This utility is only found on ESXi 4.1).

~ # /bin/vdu
For './bin':
tardisk SYS1: 28694376 ( 47 inodes)
tardisk SYS2: 135168 ( 18 inodes)
heap : 208 ( 16 inodes)
For './etc':
tardisk SYS1: 4630016 ( 220 inodes)
heap : 65184 ( 35 inodes)
tardisk SYS2: 10790 ( 22 inodes)
tardisk vpxa.vgz: 6144 ( 5 inodes)
tardisk aam.vgz: 4096 ( 2 inodes)
ramdisk MAINSYS: 65536 ( 4 inodes)
For './lib':
tardisk SYS1: 41208050 ( 146 inodes)
ramdisk MAINSYS: 16384 ( 1 inodes)
tardisk SYS2: 29168640 ( 95 inodes)
For './lib64':
tardisk SYS1: 6955539 ( 23 inodes)
For './opt':
tardisk SYS1: 0 ( 1 inodes)
tardisk vpxa.vgz: 44070912 ( 24 inodes)
tardisk aam.vgz: 12457984 ( 188 inodes)
For './productLocker':
tardisk SYS1: 24
For './sbin':
tardisk SYS1: 87665431 ( 145 inodes)
heap : 8192 ( 4 inodes)
ramdisk MAINSYS: 106496 ( 10 inodes)
tardisk SYS2: 151552 ( 3 inodes)
For './tmp':
heap : 34816 ( 33 inodes)
ramdisk updatestg: 8192 ( 1 inodes)
For './usr':
tardisk SYS1: 36028127 ( 381 inodes)
tardisk SYS2: 252928 ( 39 inodes)
ramdisk MAINSYS: 53248 ( 6 inodes)
heap : 23 ( 1 inodes)
For './var':
tardisk SYS1: 2137 ( 29 inodes)
tardisk SYS2: 28048896 ( 51 inodes)
ramdisk MAINSYS: 3850240 ( 56 inodes)
heap : 63758 ( 58 inodes)
ramdisk hostdstats: 2023424 ( 2 inodes)
tardisk vpxa.vgz: 0 ( 2 inodes)
For './vmfs':
tardisk SYS1: 6 ( 2 inodes)
For './vmimages':
tardisk SYS1: 47 ( 3 inodes)
For './vmupgrade':
tardisk SYS1: 19
For './.ssh':
heap : 2048 ( 2 inodes)
ramdisk MAINSYS: 8192 ( 1 inodes)
For './.rnd':
heap : 2048
For './bootbank':
heap : 50
For './altbootbank':
heap : 50
For './store':
heap : 50
For './scratch':
heap : 50
For './locker':
heap : 7
For '.':
heap : 176484 ( 156 inodes)
tardisk SYS1: 205183772 ( 999 inodes)
tardisk SYS2: 57767974 ( 228 inodes)
tardisk vpxa.vgz: 44077056 ( 31 inodes)
tardisk aam.vgz: 12462080 ( 190 inodes)
ramdisk MAINSYS: 4100096 ( 78 inodes)
ramdisk updatestg: 8192 ( 1 inodes)
ramdisk hostdstats: 2023424 ( 2 inodes)

Categories // Uncategorized Tags // cli, vimsh, vSphere 4.1

  • « Previous Page
  • 1
  • 2
  • 3
  • Next Page »

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Programmatically accessing the Broadcom Compatibility Guide (BCG) 05/06/2025
  • Quick Tip - Validating Broadcom Download Token  05/01/2025
  • Supported chipsets for the USB Network Native Driver for ESXi Fling 04/23/2025
  • vCenter Identity Federation with Authelia 04/16/2025
  • vCenter Server Identity Federation with Kanidm 04/10/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...