<% 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. (Development only, not advised for production systems.)                                                                                                      | 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_query_service_commands" class="no-quick-link"></a>Query Service Commands

<a id="topic_query_service_commands_table"></a>

| Command                                                                                                                                                                   | Description                                                                          | Availability    |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|-----------------|
| [alter query-service](command-pages/alter.html#topic_alter_query_service)                       | Alter configuration details of the query service.                     | online |
| [describe query-service](command-pages/describe.html#topic_describe_query_service)                       | Print the information that describes the current configuration of the query service.                     | online |

## <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       |
| [restore redundancy](command-pages/restore.html)                                                                                                                                     | Restore redundancy to partitioned regions and optionally reassign which members host the primary copies.                                                                                                                       | online       |
| [status redundancy](command-pages/status.html#topic_status_redundancy)                                                                                                                                     | Display the redundancy status of 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 |



