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 |
| channel | Specifies the network channel. |
| addresses | Addresses in the network channel. |
| network | The network stressor level to apply to the channel. |
| tcpportexemptions | Specifies a semicolon delimited list of TCP ports to exempt from the simulation. |
| udpportexemptions | Specifies 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 |
| max | Throttles the 7th CPU core to its maximum workload while a title is running fullscreen with 7th core support enabled. |
| spikes | Throttles 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