<% set_title("Basic", product_name, "gfsh Commands")%>

<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<a id="topic_77DA6E3929404EB4AC24230CC7C21493"></a>


<a id="topic_77DA6E3929404EB4AC24230CC7C21493__table_pk5_vw1_3l"></a>

| Command                                                                                                                                                   | Description                                                                                                                                                     | Availability    |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| [debug](command-pages/debug.html)                                             | Enable or disable debugging output in `gfsh`.                                                                                                                   | online, offline |
| [echo](command-pages/echo.html)                         | Echo the given text, which may include system and user variables.                                                                                               | online, offline |
| [exit](command-pages/exit.html)                             | Exit the gfsh shell. You can also use `quit` to exit the shell.                                                                                                 | online, offline |
| [help](command-pages/help.html)                      | If the argument is a gfsh command, displays syntax and usage information for the command. If there are no arguments, displays a list of all available commands. | online, offline |
| [hint](command-pages/hint.html)             | Display information on topics and a list of commands associated with a topic.                                                                                   | online, offline |
| [history](command-pages/history.html)                                                   | Show or save the command history.                                                                                                                               | online, offline |
| [run](command-pages/run.html)                                                             | Execute a set of GFSH commands.                                                                                                                                 | online, offline |
| [set variable](command-pages/set.html)                                             | Set variables in the GFSH environment.                                                                                                                          | online, offline |
| [sh](command-pages/sh.html)                                                            | Executes operating system (OS) commands.                                                                                                                        | offline, online |
| [sleep](command-pages/sleep.html)                                                           | Delay `gfsh` command execution.                                                                                                                                 | online, offline |
| [version](command-pages/version.html)                                                | Display product version information.                                                                                                                            | online, offline |

## <a id="topic_EB854534301A477BB01058B3B142AE1D" class="no-quick-link"></a>Configuration Commands

<a id="topic_EB854534301A477BB01058B3B142AE1D__table_uyf_jz1_3l"></a>

<table>
<colgroup>
<col width="33%" />
<col width="33%" />
<col width="34%" />
</colgroup>
<thead>
<tr class="header">
<th>Command</th>
<th>Description</th>
<th>Availability</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="command-pages/alter.html#topic_7E6B7E1B972D4F418CB45354D1089C2B">alter runtime</a></td>
<td>Alters configuration properties for a specific member or members while the member or members are running.</td>
<td>online</td>
</tr>
<tr>
<td><a href="command-pages/change.html#topic_E74ED23CB60342538B2175C326E7D758">change loglevel</a></td>
<td>Changes the logging level on specified servers.</td>
<td>online</td>
</tr>
<tr>
<td><a href="command-pages/configure.html#topic_jdkdiqbgphqh">configure pdx</a></td>
<td>This command alters cluster-wide PDX configuration settings for all caches.</td>
<td>online
<div class="note note">
**Note:** This command must be run before starting data members in order to enforce configuration settings.
</div></td>
</tr>
<tr>
<td><a href="command-pages/describe.html#topic_3C2C817D999C4E40AF788808B7B6AF99">describe config</a></td>
<td>Display the configuration of a member.</td>
<td>online</td>
</tr>
<tr>
<td><a href="command-pages/export.html#topic_C7C69306F93743459E65D46537F4A1EE">export config</a></td>
<td>Export configurations, data, logs and stack-traces.</td>
<td>online</td>
</tr>
<tr>
<td><a href="command-pages/export.html#topic_mdv_jgz_ck">export cluster-configuration</a></td>
<td>Exports a shared configuration ZIP file that contains cache.xml files, gemfire.properties files and JAR files needed to configure and operate a cluster.</td>
<td>online</td>
</tr>
<tr>
<td><a href="command-pages/import.html#topic_vnv_grz_ck">import cluster-configuration</a></td>
<td>Import an exported configuration.</td>
<td>online</td>
</tr>
<tr>
<td><a href="command-pages/status.html#topic_ts1_qb1_dk2">status cluster-config-service</a></td>
<td>Reports on the status of the cluster configuration server.</td>
<td>online</td>
</tr>
</tbody>
</table>

## <a id="topic_C7DB8A800D6244AE8FF3ADDCF139DCE4" class="no-quick-link"></a>Data Commands

<a id="topic_C7DB8A800D6244AE8FF3ADDCF139DCE4__table_rcv_jz1_3l"></a>

| Command                                                                                                                                                   | Description                                                     | Availability |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------|--------------|
| [export data](command-pages/export.html#topic_263B70069BFC4A7185F86B3272011734) | Export user data from a region to a file.                       | online       |
| [get](command-pages/get.html)                                                               | Display an entry in a region.                                   | online       |
| [import data](command-pages/import.html#topic_jw2_2ld_2l)                       | Import user data from a file to a region.                        | online       |
| [locate entry](command-pages/locate.html#concept_73B980C1138743DDBBFACE68009BD1E3__section_04BD7EC0032147DFA9CCD1331EE3B694)      | Locate a region entry on a member.                              | online       |
| [put](command-pages/put.html)                                                               | Add or update a region entry.                                   | online       |
| [query](command-pages/query.html)                                                      | Run queries against <%=vars.product_name%> regions. | online       |
| [remove](command-pages/remove.html)                                                        | Remove an entry from a region.                                  | online       |

## <a id="topic_1B47A0E110124EB6BF08A467EB510412" class="no-quick-link"></a>Deployment Commands

<a id="topic_1B47A0E110124EB6BF08A467EB510412__table_cdk_kz1_3l"></a>

| Command                                                                                                                                                                                        | Description                                                                            | Availability |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|--------------|
| [deploy](command-pages/deploy.html)                                                                   | Deploy JAR-packaged applications to a member or members.                               | online       |
| [list deployed](command-pages/list.html#topic_59DF60DE71AD4097B281749425254BFF) | Display a list of JARs that were deployed to members using the `deploy` command.       | online       |
| [undeploy](command-pages/undeploy.html)                                   | Undeploy the JAR files that were deployed on members or groups using `deploy` command. | online       |

## <a id="topic_1ACC91B493EE446E89EC7DBFBBAE00EA" class="no-quick-link"></a>Disk Store Commands

<a id="topic_1ACC91B493EE446E89EC7DBFBBAE00EA__table_trm_lz1_3l"></a>

| Command                                                                                                                                                                                                                                                 | Description                                                                                                                              | Availability    |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| [alter disk-store](command-pages/alter.html#topic_99BCAD98BDB5470189662D2F308B68EB)                                                                               | Modify an existing <%=vars.product_name%> resource.                                                                          | online          |
| [backup disk-store](command-pages/backup.html#topic_E74ED23CB60342538B2175C326E7D758)                                                              | Back up persistent data from all members to the specified directory.                                                                     | online          |
| [compact disk-store](command-pages/compact.html#topic_F113C95C076F424E9AA8AC4F1F6324CC)                                                                       | Compact online disk-stores.                                                                                                              | online          |
| [compact offline-disk-store](command-pages/compact.html#topic_9CCFCB2FA2154E16BD775439C8ABC8FB)                                                                                          | Compact an offline disk store.                                                                                                           | online, offline |
| [create disk-store](command-pages/create.html#topic_bkn_zty_ck) | Defines a pool of one or more disk stores, which can be used by regions and client subscription queues.                                  | online          |
| [describe disk-store](command-pages/describe.html#topic_C635B500BE6A4F1D9572D0BC98A224F2)                                                                          | Display information about a member's disk store.                                                                                         | online          |
| [describe offline-disk-store](command-pages/describe.html#topic_kys_yvk_2l)                                                                               | Display information about an offline member's disk store                                                                                 | online, offline |
| [destroy disk-store](command-pages/destroy.html#topic_yfr_l2z_ck)              | Deletes a disk store and all files on disk used by the disk store. Data for closed regions that previously used this disk store is lost. | online          |
| [list disk-stores](command-pages/list.html#topic_BC14AD57EA304FB3845766898D01BD04)                                                                              | List all available disk stores in a <%=vars.product_name%> cluster.                                                          | online          |
| [revoke missing-disk-store](command-pages/revoke.html)                                                                 | Instruct the cluster member(s) to stop waiting for a disk store to be available.                                         | online          |
| [show missing-disk-stores](command-pages/show.html#topic_7B3D624D5B4F41D1A0F8A9C3C8B2E780)                                   | Display a summary of the disk stores that are currently missing from the cluster.                                               | online          |
| [validate offline-disk-store](command-pages/validate.html)                                                                                                                                | Validate offline disk stores.                                                                                                            | online, offline |

## <a id="topic_10613D4850F04A3EB507F6B441AD3413" class="no-quick-link"></a>Durable CQ and Client Commands

<a id="topic_10613D4850F04A3EB507F6B441AD3413__table_kqb_mz1_3l"></a>

| Command                                                                                                                                                                                                                                                             | Description                                                                                                                                                    | Availability |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|
| [list durable-cqs](command-pages/list.html#topic_66016A698C334F4EBA19B99F51B0204B)                                                                         | List durable client CQs associated with the specified durable client id.                                                                                       | online       |
| [close durable-cq](command-pages/close.html#topic_1BC15B3132BA480DB227921A9B3ABDD1) | Closes the durable CQ registered by the durable client and drain events held for the durable CQ from the subscription queue.                                   | online       |
| [close durable-client](command-pages/close.html#topic_4125AAAB9FE44CD787166E48B694C41D)                                               | Attempts to close the durable client. The client must be disconnected.                                                                                         | online       |
| [show subscription-queue-size](command-pages/show.html#topic_395C96B500AD430CBF3D3C8886A4CD2E)                                                                                | Shows the number of events in the subscription queue. If a CQ name is provided, it counts the number of events in the subscription queue for the specified CQ. | online       |

## <a id="topic_8BB061D1A7A9488C819FE2B7881A1278" class="no-quick-link"></a>Function Execution Commands

<a id="topic_8BB061D1A7A9488C819FE2B7881A1278__table_xqk_mz1_3l"></a>

| Command                                                                                                                                                                                                       | Description                                                                                            | Availability |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|--------------|
| [destroy function](command-pages/destroy.html#topic_E48C2DF809054C12A162026D8A2139BB)                                                       | Destroy or unregister a function. The default is for the function to be unregistered from all members. | online       |
| [execute function](command-pages/execute.html#concept_F2ED1987126E4338AEB14A7C8F561A2A__section_FB435A8AC76E4E1A8E72DBEA64BA2E57)                                                     | Execute the function with the specified ID. By default, executes on all members.                       | online       |
| [list functions](command-pages/list.html#topic_DCC7CCBBEF5942B783A8F2A4A5B2FABF) | Display a list of registered functions. The default is to display functions for all members.           | online       |

## <a id="topic_F0AE5CE40D6D49BF92247F5EF4F871D2" class="no-quick-link"></a>Gateway (WAN) Commands

<a id="topic_F0AE5CE40D6D49BF92247F5EF4F871D2__table_vp5_mz1_3l"></a>

| Command                                                                                                                                                                                                                                                                                   | Description                                                                                                                                | Availability |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------|--------------|
| [alter async-event-queue](command-pages/alter.html#topic_alter_async_event_queue)   | Alter attributes of a specified asynchronous event queue.       | online      |
| [create async-event-queue](command-pages/create.html#topic_ryz_pb1_dk)                                                                             | Creates an asynchronous event queue.                                                                                                       | online       |
| [create gateway-receiver](command-pages/create.html#topic_a4x_pb1_dk) | Creates a gateway receiver on one or more members.                                                                                         | online       |
| [create gateway-sender](command-pages/create.html#topic_hg2_bjz_ck)                                                                                                              | Creates a gateway sender on one or more members.                                                                                           | online       |
| [destroy async-event-queue](command-pages/destroy.html#topic_destroy-async-event-queue)                                                                                                              | Destroys an asynchronous event queue on one or more members.                                                                                           | online       |
| [destroy gateway-sender](command-pages/destroy.html#destroy-gs)                                                                                                              | Destroys a gateway sender on one or more members.                                                                                           | online       |
| [list async-event-queues](command-pages/list.html#topic_j22_kzk_2l)                                                                                                                                 | Display a list of async event queues for all members.                                                                                      | online       |
| [list gateways](command-pages/list.html#topic_B1D89671C7B74074899C7D52F15849ED)                                                                                                       | Displays the gateway senders and receivers for a member or members.                                                                        | online       |
| [load-balance gateway-sender](command-pages/load-balance.html#concept_fn2_qls_5q)                              | Causes the specified gateway sender to close its current connections and reconnect to remote gateway receivers in a more balanced fashion. | online       |
| [pause gateway-sender](command-pages/pause.html#concept_44B6EC91FD464A1A91E438D6DF65C9D6)                                                                                                                                         | Pause a gateway sender.                                                                                                                    | online       |
| [resume async-event-queue-dispatcher](command-pages/resume.html#topic_resume_async_event_queue_dispatcher)                                                                                                              | Resumes dispatching of events on a specified asynchronous event queue which is currently in a paused state.   | online       |
| [resume gateway-sender](command-pages/resume.html#concept_8B0532D13CF34E0CB04ACC3F14F1E4A2)                                                                                                              | Resumes specified gateway sender that is currently in a paused state.    | online       |
| [start gateway-receiver](command-pages/start.html#topic_67738A5B68E84DEE95D1C92DAB2E26E5)                                                                                               | Start the gateway receiver on a given member or group of members.                                                                          | online       |
| [start gateway-sender](command-pages/start.html#topic_AB8BA3F42B9645A8BE9BD97CE2F839A8)                                                                                                                  | Start the gateway sender on a member or members.                                                                                           | online       |
| [status gateway-receiver](command-pages/status.html#topic_B0F45DC2D5F64FB1A2F738206BC6539E)                                                                                                         | Display the status of the specified gateway receiver.                                                                                      | online       |
| [status gateway-sender](command-pages/status.html#topic_6F539877F0564F05AF264A9E704EC842)                                                                                                             | Display the status of the specified gateway sender.                                                                                        | online       |
| [stop gateway-receiver](command-pages/stop.html#topic_CD1D526FD6F84A7B80B25C741129ED30)                                                                                                                 | Stop the gateway receiver on a member or members.                                                                                          | online       |
| [stop gateway-sender](command-pages/stop.html#topic_0BBDD4B3B8A44A65A610F766C9E85519)                                                                 | top a gateway sender with a given id on a specified member or members of a specified member group.                                         | online       |

## <a id="topic_F0AE5CE40D6D49BF92247F5EF4F871D3" class="no-quick-link"></a><%=vars.product_name%> AsyncEventQueue Commands

<a id="topic_F0AE5CE40D6D49BF92247F5EF4F871D3__table_vp5_mz1_3l"></a>

| Command                                                                                                                                                                                                       | Description                                           | Availability |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------|--------------|
| [alter async-event-queue](command-pages/alter.html#topic_alter_async_event_queue)   | Alter attributes of a specified asynchronous event queue.       | online      |
| [create async-event-queue](command-pages/create.html#topic_ryz_pb1_dk) | Creates an asynchronous event queue.                  | online       |
| [destroy async-event-queue](command-pages/destroy.html#topic_destroy-async-event-queue)                                                                                                              | Destroys an asynchronous event queue on one or more members.                                                                                           | online       |
| [list async-event-queues](command-pages/list.html#topic_j22_kzk_2l)                                                     | Display a list of async event queues for all members. | online       |
| [resume async-event-queue-dispatcher](command-pages/resume.html#topic_resume_async_event_queue_dispatcher)                                                                                                              | Resumes dispatching of events on a specified asynchronous event queue which is currently in a paused state.                                                                                           | online       |
## <a id="topic_B742E9E862BA457082E2346581C97D03" class="no-quick-link"></a><%=vars.product_name%> Monitoring Commands

<a id="topic_B742E9E862BA457082E2346581C97D03__table_pkf_nz1_3l"></a>

| Command                                                                                                                                                                                                                                                           | Description                                                                                                                                            | Availability    |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| [describe client](command-pages/describe.html#topic_gyr_jgz_ck)                                                                                                                        | Displays details about a specified client.                                                                                                             | online          |
| [describe member](command-pages/describe.html#topic_D62F3D42B1D84CF68F03D54D5122806A)                                                                                             | Display details of a member with given name/id.                                                                                                        | online          |
| [export logs](command-pages/export.html#topic_B80978CC659244AE91E2B8CE56EBDFE3)                                                                                                                 | Export/dump logs to a given directory.                                                                                                                 | online          |
| [export stack-traces](command-pages/export.html#topic_195D27B8B2B64A4E84CF2256636D54BD)                                                                                           | Export the stack trace for a member or members.                                                                                                        | online          |
| [gc](command-pages/gc.html)                                                                                                                                                 | Force garbage collection on a member or members.                                                                                                       | online          |
| [list clients](command-pages/list.html#topic_ts1_qb1_dk)                                                                                                                                    | Displays a list of connected clients.                                                                                                                  | online          |
| [list members](command-pages/list.html#topic_5B5BFB2E5F314210858641BE3A689637)                                                                                                                | Display all or a subset of members.                                                                                                                    | online          |
| [netstat](command-pages/netstat.html)                                                                                             | Report network information and statistics via the "netstat" operating system command.                                                                  | online          |
| [show dead-locks](command-pages/show.html#topic_1125347FAD6541DF995C9999650165B1)                                                                                          | Display deadlocks, logs, metrics and missing disk-stores.                                                                                              | online          |
| [show log](command-pages/show.html#topic_45AAEDAC3AFF46EC9BB68B24FC9A32B3)                                                                                                                          | Display the log for a member.                                                                                                                          | online          |
| [show metrics](command-pages/show.html#topic_6EB786C63AEB46179EEE8FA18624295A)                                                                 | Display or export metrics for the entire cluster, a member or a region.                                                                     | online          |
| [shutdown](command-pages/shutdown.html)                                                                                                                                                                         | Shut down all members that have a cache.                                                                                                               | online          |
| [start jconsole](command-pages/start.html#topic_D00507416F3944DFAB48D2FA2B9E4A31)                                                                            | Start the JDK JConsole monitoring application in a separate process. JConsole automatically connects to a running JMX Manager node if one is available | online, offline |
| [start jvisualvm](command-pages/start.html#topic_5B5BF8BEE905463D8B7762B89E2D65E7)                                                                | Start the JDK's Java VisualVM monitoring application in a separate process.                                                                            | online, offline |
| [start pulse](command-pages/start.html#topic_E906BA7D9E7F4C5890FEFA7ECD40DD77) | Launch the <%=vars.product_name%> Pulse monitoring dashboard tool in the user's default system browser.                                    | online, offline |

## <a id="topic_688C66526B4649AFA51C0F72F34FA45E" class="no-quick-link"></a>Index Commands

<a id="topic_688C66526B4649AFA51C0F72F34FA45E__table_k3p_nz1_3l"></a>

| Command                                                                                                                                                                                                                                        | Description                                                                                                | Availability    |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|-----------------|
| [clear defined indexes](command-pages/clear.html)                                                                                                                              | Clears all the defined indexes.                                                                            | online, offline |
| [create defined indexes](command-pages/create.html#topic_w2t_l3m_qq)                                                                                                          | Creates all the defined indexes.                                                                           | online          |
| [create index](command-pages/create.html#topic_960A5B6FD3D84E1881EE118E299DD12D)                                                                      | Create an index that can be used when executing queries.                                                   | online          |
| [define index](command-pages/define.html) | Define an index that can be used when executing queries. Then you can create multiple indexes all at once. | online, offline |
| [destroy index](command-pages/destroy.html#topic_D00219CCD6F64C1582A0802AC5CDF3F3)                                                                                      | Destroy or remove the specified index.                                                                     | online          |
| [list indexes](command-pages/list.html#topic_B3B51B6DEA484EE086C4F657EC9831F2)                                                                            | Display the list of indexes created for all members.                                                       | online          |

## <a id="topic_2A6DA4078E4E496A9F725A29BC4CFD0D" class="no-quick-link"></a>JMX Connection Commands

<a id="topic_2A6DA4078E4E496A9F725A29BC4CFD0D__table_ktf_4z1_3l"></a>

| Command                                                                                                                                                           | Description                                                | Availability    |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------|-----------------|
| [connect](command-pages/connect.html)                                  | Connect to a jmx-manager either directly or via a locator. | offline         |
| [describe connection](command-pages/describe.html#topic_591DC6B781B641168E6173E69AC6D201) | Display connection information details.                    | online, offline |
| [disconnect](command-pages/disconnect.html)                                                       | Close any active connection(s).                            | online          |

## <a id="topic_1C82E6F1B2AF4A65A8DA6B3C846BAC13" class="no-quick-link"></a>Locator Commands

<a id="topic_1C82E6F1B2AF4A65A8DA6B3C846BAC13__table_hy4_4z1_3l"></a>

| Command                                                                                                                                                          | Description                                                                                                                                                                                                                                                                     | Availability    |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| [start locator](command-pages/start.html#topic_591260CF25D64562A0EDD7260D2AC6D4)                                | Start a locator. The command creates a subdirectory and log file named after the locator. If the locator detects that no other JMX Manager exists, then the locator will automatically start an embedded JMX Manager and connect the current `gfsh` session to the JMX Manager. | online, offline |
| [status locator](command-pages/status.html#topic_E96D0EFA513C4CD79B833FCCDD69C832) | Displays the status of the specified locator.                                                                                                                                                                                                                                   | online, offline |
| [stop locator](command-pages/stop.html#topic_EF61C54B35BA4AB7B14E58CF911F283E)                                   | Stop a locator.                                                                                                                                                                                                                                                                 | online, offline |

## <a id="topic_lucene_commands" class="no-quick-link"></a>Lucene Commands

<a id="topic_1C82E6F1B2AF4A65A8DA6B3C846BAC13__table_hy4_4z1_3l"></a>

| Command                                                                                                                                                          | Description                                                                                                                                                                                                                                                                     | Availability    |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| [create lucene index](command-pages/create.html#create_lucene_index)                                | Create a Lucene index. | online |
| [describe lucene index](command-pages/describe.html#describe_lucene_index) | Describe a Lucene index. | online |
| [destroy lucene index](command-pages/destroy.html#destroy_lucene_index) | Destroy a Lucene index. | online |
| [list lucene indexes](command-pages/list.html#list_lucene_indexes) | List Lucene indexes created for all members. The optional `--with-stats` qualifier shows activity on the indexes. | online |
| [search lucene](command-pages/search.html#search_lucene) | Search a Lucene index. | online |

## <a id="topic_cvg_bls_5q" class="no-quick-link"></a>PDX Commands

<a id="topic_cvg_bls_5q__table_tdf_cls_5q"></a>

| Command                                                                                                          | Description                                                           | Availability    |
|------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|-----------------|
| [configure pdx](command-pages/configure.html#topic_jdkdiqbgphqh)                         | Configure Portable Data eXchange for all the cache(s) in the cluster. | online, offline |
| [pdx rename](command-pages/pdx.html) | Renames PDX types in an offline disk store.                           | online, offline |

## <a id="topic_EF03119A40EE492984F3B6248596E1DD" class="no-quick-link"></a>Region Commands

<a id="topic_EF03119A40EE492984F3B6248596E1DD__table_a5k_r31_3l"></a>

| Command                                                                                                                                                                                                                                      | Description                                                                                                                                                | Availability |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------|
| [alter region](command-pages/alter.html#topic_E74ED23CB60342538B2175C326E7D758)                                                                                        | Alters the configuration of a region.                                                                                                                      | online       |
| [create region](command-pages/create.html#topic_54B0985FEC5241CA9D26B0CE0A5EA863)                                                                         | Create and configure a region.                                                                                                                             | online       |
| [describe region](command-pages/describe.html#topic_DECF7D3D33F54071B6B8AD4EA7E3F90B)                                                                | Display the attributes and key information of a region.                                                                                                    | online       |
| [destroy region](command-pages/destroy.html#topic_BEDACECF4599407794ACBC0E56B30F65)                                                                                              | Destroy or remove a region.                                                                                                                                | online       |
| [list regions](command-pages/list.html#topic_F0ECEFF26086474498598035DD83C588) | Display regions of a member or members. If no parameter is specified, all regions in the cluster are listed. | online       |
| [rebalance](command-pages/rebalance.html)                                                                                                                                     | Rebalance partitioned regions.                                                                                                                             | online       |

## <a id="topic_8A341FF86958466E9E64CF06CD21FED9" class="no-quick-link"></a>Server Commands

<a id="topic_8A341FF86958466E9E64CF06CD21FED9__table_ehj_n31_3l"></a>

| Command                                                                                                                                                                   | Description                                                                          | Availability    |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|-----------------|
| [start server](command-pages/start.html#topic_3764EE2DB18B4AE4A625E0354471738A)                       | Start a <%=vars.product_name%> cache server process.                     | online, offline |
| [status server](command-pages/status.html#topic_E5DB49044978404D9D6B1971BF5D400D) | Display the status of the specified <%=vars.product_name%> cache server. | online, offline |
| [stop server](command-pages/stop.html#topic_723EE395A63A40D6819618AFC2902115)                                  | Stop a <%=vars.product_name%> cache server.                              | online, offline |



