Stress (xbstress.exe)

The xbstress tool lets XDK developers simulate loads on the shared resource partition to test whether their title behaves correctly in stressful situations (for example, a shared resource app causing heavy disk usage).

xbstress command [type=level] [/X[:]address[+<accesskey>]]
Option Description
command Specifies the stress command to execute. The following commands are supported:
Command Description
start stressor_type=level ... Starts one or more stress inducers.
simulate simulation_type=level Starts a simulation stress inducer.
stop Stops all currently running stress inducers and simulations.
status Displays current status. Note that you do not need so specify any stress type with this command.
set channel=N network=level [addresses=...] Sets network simulation properties for use with channel based network simulation. After properties have been set up, channel based network simulation is started using xbstress simulate network=channels. Note that wildcards are not supported when specifying addresses. See Network stress for a description of how to use channels to simulate advanced conditions like blocking access to live services.
set tcpportexemptions=port[;port;port;...] Specifies TCP ports to exempt from network simulation.
set udpportexemptions=port[;port;port;...] Specifies UDP ports to exempt from network simulation.
type=level The type of stressor and the level of stress to apply. Supported type and level values are detailed below. Use an appropriate level for the type of stress you choose to apply.
/X[:]address[+<accesskey>] Specifies the host name or address (shown as Tools IP on the console) of a targeted console, but does not change the default console. For information about setting a host name for a console, see Setting a Hostname for the Console IP Address.If you do not use this option, the default console (previously set by Connect (xbconnect.exe)) is used.Accesskey is a string that you can use to restrict access to a console to only those people who know the access key. Set the access key by using the command xbconfig accesskey=your-key; then, restart your console to make the access key effective. To access a console that is configured with an access key, you must include a plus sign (+) and the access key after the IP address or host name of the console. For more information about access keys, see xbconfig accesskey.
Note
If an access key is provided when the default console is set by xbconnect, then the access key is stored as part of the address of the default console.

Stressor Inducer Types (xbstress start)

Specifies the stress inducer type to start. Use “xbstress start type=level” to initiate stress with these types.

Inducer Description
disk Hard disk drive stress inducer.
l2cache L2 cache stress inducer.
inbwlimitkbps Network inbound bandwidth limit.
outbwlimitkbps Network outbound bandwidth limit.
packetloss Network packet loss.
latencyms Network latency.

Stress Simulation Types (xbstress simulate)

Specifies a stress simulation type. Use “xbstress simulate type=level” to initiate stress with these types.

Inducer Description
systemui System UI simulation stress inducer.
network Network emulation stress inducer.
cpu6 Simulates activity on the 7th core. See Accessing a 7th Processing Core for information on enabling the 7th processing core in your title.

Network Simulation Properties (xbstress set)

Specifies a network simulation property for use with channel based network simulation.

Property Description
channelSpecifies the network channel.
addressesAddresses in the network channel.
networkThe network stressor level to apply to the channel.
tcpportexemptionsSpecifies a semicolon delimited list of TCP ports to exempt from the simulation.
udpportexemptionsSpecifies a semicolor delimited list of UDP ports to exempt from the simulation.

Stress levels

Each stress inducer type accepts corresponding stress levels. Use a stress level appropriate for the stress type you specify.

Descriptions

Value Description
disk 1-100 (max stress)
l2cache 1-100 (max stress)
systemui 1
inbwlimitkbps 192-70000 (Kbps)
outbwlimitkbps 192-70000 (Kbps)
packetloss 1-100 (percent)
latencyms 1-10000 (milliseconds)
network
Value Description
min Represents the minimum operating requirements ofXbox One. It is a certification requirement that titles be able to support this environment without freezes or crashes. This simulates: 192 Kbps download speeds 192 Kbps upload speeds 1% packet loss 75 ms of round trip latency
avg Represents average connectivity based on 2013 market data from the United States, roughly aligned to DSL subscriptions. This simulates: 1 Mbps download speeds 700 Kbps upload speeds 1% packet loss 50 ms of round trip latency
exc Represents excellent connectivity based on 2013 market data from the United States, roughly aligned to broadband or cable connectivity. This simulates: 35 Mbps download speeds 10 Mbps upload speeds 0.5% packet loss 30 ms of round trip latency
broken Simulates a loss of connectivity. Note that even when this value is specified, development tools like the debugger, command line tools, and PIX will continue to work.
channels Represents channel based network simulation. At least one channel must be set using the set command to run channel network simulations. See Network stress for a description of how to use channels to simulate advanced conditions like blocking access to live services.
cpu6
Value Description
maxThrottles the 7th CPU core to its maximum workload while a title is running fullscreen with 7th core support enabled.
spikesThrottles the 7th CPU core to its maximum workload for short intervals creating periodic spikes of activity while a title is running fullscreen with 7th core support enabled.
channel 0-100 (channel order) Channels are processed in order from lowest to highest. Multiple channels may be set and channel values do not need to be in consecutive order. Each channel must also specify a network level and optional addresses to affect. The default is all addresses. See Network stress for a description of how to use channels to simulate advanced conditions like blocking access to live services.
addresses A semicolon delimited list of IPv4 addresses, IPv6 addresses, and/or hostnames. Subnet masks are optional but supported.
Note
Wildcards can not be used for adresses.

Examples

xbstress start disk=100
xbstress start l2cache=100
xbstress start disk=100 l2cache=100
xbstress start inbwlimitkbps=256 outbwlimitkbps=192 packetloss=1 latencyms=75
xbstress simulate systemui=1
xbstress set tcpportexemptions=50000;50001;50100
xbstress set udpportexemptions=50000;50001;50100
xbstress simulate network=min
xbstress simulate network=avg
xbstress simulate network=exc
xbstress simulate network=broken
xbstress stop
xbstress status

xbstress set tcpportexemptions=50000;50001;50100
xbstress set udpportexemptions=50000;50001;50100
xbstress set channel=0 network=broken addresses=achievements.xboxlive.com
xbstress set channel=1 network=min
xbstress simulate network=channels
xbstress stop  

See also

Command Line Tools

XTF Transport Errors