type=page
status=published
title=list-threadpools
next=list-timers.html
prev=list-system-properties.html
~~~~~~

list-threadpools
================

[[list-threadpools-1]][[GSRFM00204]][[list-threadpools]]

list-threadpools
----------------

Lists all the thread pools

[[sthref1826]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-threadpools [--help]
target
----

[[sthref1827]]

=== Description

The `list-threadpools` subcommand lists the {productName} thread pools.

This subcommand is supported in remote mode only.

[[sthref1828]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.

[[sthref1829]]

=== Operands

target::
  This operand specifies the target for which you are listing thread
  pools. This operand is required.
  Valid values are as follows:

  `server`;;
    Lists the thread pools for the default {productName} instance
    `server`.
  configuration-name;;
    Lists the thread pools for the named configuration.
  cluster-name;;
    Lists the thread pools for every instance in the cluster.
  instance-name;;
    Lists the thread pools for a particular instance.

[[sthref1830]]

=== Examples

[[GSRFM714]][[sthref1831]]

==== Example 1   Listing Thread Pools

This example lists the current thread pools for the default instance `server`.

[source]
----
asadmin> list-threadpools server
admin-thread-pool
http-thread-pool
thread-pool-1
Command list-threadpools executed successfully.
----

[[sthref1832]]

=== Exit Status

0::
  subcommand executed successfully
1::
  error in executing the subcommand

[[sthref1833]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
link:delete-threadpool.html#delete-threadpool-1[`delete-threadpool`(1)]


