---
title: start
---

<!--
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_3151ACDA3677431BB5059EB7FCB47D87"></a>


Start servers, locators, gateway senders and gateway receivers, and monitoring tools.

-   **[start gateway-receiver](#topic_67738A5B68E84DEE95D1C92DAB2E26E5)**

    Start the gateway receiver on a given member or group of members.

-   **[start gateway-sender](#topic_AB8BA3F42B9645A8BE9BD97CE2F839A8)**

    Start the gateway sender on a member or members.

-   **[start jconsole](#topic_D00507416F3944DFAB48D2FA2B9E4A31)**

    Start the JDK JConsole monitoring application in a separate process.

-   **[start jvisualvm](#topic_5B5BF8BEE905463D8B7762B89E2D65E7)**

    Start the JDK's Java VisualVM monitoring application in a separate process.

-   **[start locator](#topic_591260CF25D64562A0EDD7260D2AC6D4)**

    Start a locator.

-   **[start pulse](#topic_E906BA7D9E7F4C5890FEFA7ECD40DD77)**

    Launch the <%=vars.product_name%> Pulse monitoring dashboard tool in the user's default system browser and navigates the user to the landing page (login page).

-   **[start server](#topic_3764EE2DB18B4AE4A625E0354471738A)**

    Start a <%=vars.product_name%> cache server process.

## <a id="topic_67738A5B68E84DEE95D1C92DAB2E26E5" class="no-quick-link"></a>start gateway-receiver

Start the gateway receiver on a given member or group of members.

Note that you can only have one gateway receiver on each member, and unlike a gateway sender, you do not need to specify an identifier for the gateway receiver.

**Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.

**Syntax:**

``` pre
start gateway-receiver [--groups=value(,value)*] [--members=value(,value)*]
```

| Name                                           | Description                                                      |
|------------------------------------------------|------------------------------------------------------------------|
| <span class="keyword parmname">\\-\\-members</span> | Name or ID of the member(s) on which to start the Gateway Receiver. |
| <span class="keyword parmname">\\-\\-groups</span>  | Group(s) of members on which to start the Gateway Receiver.      |

<span class="tablecap">Table 1. Start Gateway-Receiver Parameters</span>

**Example Commands:**

``` pre
start gateway-receiver
start gateway-receiver --members=member1
```

**Sample Output:**

``` pre
gfsh>start gateway-receiver
      Member                | Result | Message
--------------------------- | -------| -----------------------------------------------------------------------
pc13(2266)<v6>:56852        | OK     | GatewayReceiver is started on member pc13(2266)<v6>:56852
pc13(Manager:2242)<v5>:57631| Error  | GatewayReceiver is not available on member pc13(Manager:2242)<v5>:57631
pc13(2275)<v7>:47480        | OK     | GatewayReceiver is started on member pc13(2275)<v7>:47480
pc13(2293)<v8>:55472        | OK     | GatewayReceiver is started on member pc13(2293)<v8>:55472

gfsh>start gateway-receiver --members=pc13(2266)<v14>:36579
GatewayReceiver is started on member pc13(2266)<v14>:36579

gfsh>start gateway-receiver --group=RG1
         Member      | Result | Message
-------------------- | -------| ----------------------------------------------------------
pc13(2275)<v23>:27484| OK     | GatewayReceiver is started on member pc13(2275)<v23>:27484
pc13(2293)<v24>:55810| OK     | GatewayReceiver is started on member pc13(2293)<v24>:55810
pc13(2266)<v22>:4522 | OK     | GatewayReceiver is started on member pc13(2266)<v22>:4522
```

## <a id="topic_AB8BA3F42B9645A8BE9BD97CE2F839A8" class="no-quick-link"></a>start gateway-sender

Start the gateway sender on a member or members.

For information on how to configure a gateway sender, see [Configure Gateway Senders](../../../topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html#setting_up_a_multisite_system__section_1500299A8F9A4C2385680E337F5D3DEC).

Note: By default, gateway senders are configured to start automatically. Manual restart introduces a risk of data loss; it is not intended for production systems.

**Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.

**Syntax:**

``` pre
start gateway-sender --id=value [--groups=value(,value)*] [--members=value(,value)*]
```

| Name                                           | Description                                               |
|------------------------------------------------|-----------------------------------------------------------|
| <span class="keyword parmname">\\-\\-id</span>     | *Required.* ID of the GatewaySender.                      |
| <span class="keyword parmname">\\-\\-groups</span>  | Group(s) of members on which to start the Gateway Sender. |
| <span class="keyword parmname">\\-\\-members</span> | Member(s) on which to start the Gateway Sender                   |

<span class="tablecap">Table 2. Start Gateway-Sender Parameters</span>

**Example Commands:**

``` pre
start gateway-sender --id=sender1-NY
start gateway-sender --id=sender1-NY --members=server1
start gateway-sender --id=sender1-NY --groups=MemberGroup1,MemberGroup2
```

**Sample Output:**

``` pre
gfsh>start gateway-sender --id=ln
 Member                       |  Result |                   Message
------------------------------| ------- | -------------------------------------------------------------------------
pc13(30614)<v6>:63670         | OK      | GatewaySender ln is started on member pc13(30614)<v6>:63670
pc13(30621)<v7>:36015         | OK      | GatewaySender ln is started on member pc13(30621)<v7>:36015
pc13(30633)<v8>:13633         | OK      | GatewaySender ln is started on member pc13(30633)<v8>:13633
pc13(Manager:30588)<v5>:42792 | Error   | GatewaySender ln is not available on member pc13(Manager:30588)<v5>:42792

gfsh>start gateway-sender --id=ln --members=pc13(30614)<v14>:44519
GatewaySender ln is started on member pc13(30614)<v14>:44519
gfsh>start gateway-sender --id=ln --groups=SenderGroup1
Member                 | Result| Message
---------------------- | ------| ------------------------------------------------------------
pc13(30614)<v18>:15201 | OK    | GatewaySender ln is started on member pc13(30614)<v18>:15201
pc13(30621)<v19>:61437 | OK    | GatewaySender ln is started on member pc13(30621)<v19>:61437
pc13(30633)<v20>:22567 | OK    | GatewaySender ln is started on member pc13(30633)<v20>:22567
```

## <a id="topic_D00507416F3944DFAB48D2FA2B9E4A31" class="no-quick-link"></a>start jconsole

Start the JDK JConsole monitoring application in a separate process.

JConsole automatically connects to a running JMX Manager node if one is available.

Note that you must have a JDK installed (not just a JRE) and the correct PATH and JAVA\_HOME environment variables set.

See [Browsing <%=vars.product_name%> MBeans through JConsole](../../../managing/management/mbeans_jconsole.html) for an example of using JConsole with the <%=vars.product_name%> management and monitoring system.

**Availability:** Online or offline.

**Syntax:**

``` pre
start jconsole [--interval=<seconds>] [--notile] [--version]
[--J<jconsole JVM options>]
```

| Name                                               | Description                                                                                                                                                                                                                                                                                                                                                                                                | Default Value |
|----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
| <span class="keyword parmname">\\-\\-interval</span>   | Set the update interval to n seconds (default is 4 seconds). (Equivalent to JConsole's `-interval=n`)                                                                                                                                                                                                                                                                                                      | 4             |
| <span class="keyword parmname">\\-\\-notile</span>     | Whether to initially tile windows for two or more connections. This parameter is passed as `-notile` to JConsole.                                                                                                                                                                                                                                                                                          | false         |
| <span class="keyword parmname">&#8209;&#8209;pluginpath</span> | Directories or JAR files which are searched for JConsole plugins. The path should contain a provider-configuration file named:`META-INF/services/com.sun.tools.jconsole.JConsolePlugin` containing one line for each plugin specifying the fully qualified class name of the class implementing the `com.sun.tools.jconsole.JConsolePlugin` class. |               |
| <span class="keyword parmname">\\-\\-version</span>    | Display the JConsole version information. This parameter is passed as `-version` to JConsole.                                                                                                                                                                                                                                                                                                              | false         |
| <span class="keyword parmname">\\-\\-J</span>          | Arguments passed to the JVM on which JConsole runs                                                                                                                                                                                                                                                                                                                                                         |               |

<span class="tablecap">Table 3. Start JConsole Parameters</span>

**Example Commands:**

``` pre
gfsh>start jconsole --interval=8 --notile;
Running JDK JConsole

gfsh>start jconsole --version;
JConsole version "1.8.0_31-b01-1"
Java(TM) SE Runtime Environment (build 1.8.0_31-b01-1-11)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-11, mixed mode)
```

**Sample Output:**

``` pre
gfsh>start jconsole
Running JDK JConsole
```

The JConsole application appears and auto-connects to a JMX Manager node if one is available:

<img src="../../../images/JConsole.png" id="topic_D00507416F3944DFAB48D2FA2B9E4A31__image_AAB6A784AD4B4BD1B5155AC796C22F82" class="image imagecenter" />

**Error Messages:**

``` pre
An error occurred while launching JConsole = %1$s

Connecting by the <%=vars.product_name%> member's name or ID is not currently supported.
Please specify the member as '<hostname|IP>[PORT].

An IO error occurred while launching JConsole.
Please ensure that JAVA_HOME is set to the JDK installation
or the JDK bin directory is in the system PATH.

JConsole could not be found.\nPlease ensure that JAVA_HOME is set to the
JDK installation or the JDK bin directory is in the system PATH.
```

## <a id="topic_5B5BF8BEE905463D8B7762B89E2D65E7" class="no-quick-link"></a>start jvisualvm

Start the JDK's Java VisualVM monitoring application in a separate process.

**Availability:** Online or offline.

**Syntax:**

``` pre
start jvisualvm [--J=value(,value)*]
```

| Name                                      | Description |
|-------------------------------------------|------------------------------------------------------------------------------------------------|
| <span class="keyword parmname">\\-\\-J</span> | VM-option passed to the spawned CacheServer VM. For example: `-J-Dfoo.bar=true` for setting foo.bar to 'true'. |

<span class="tablecap">Table 4. Start JVisalVM Parameters</span>

**Example Commands:**

``` pre
start jvisualvm
```

**Sample Output:** <img src="../../../images/jvisualvm.png" id="topic_5B5BF8BEE905463D8B7762B89E2D65E7__image_BDA0F3A31F784C5FBBB5999EDA2BD942" class="image" />

## <a id="topic_591260CF25D64562A0EDD7260D2AC6D4" class="no-quick-link"></a>start locator

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.

**Note:** You must have `JAVA_HOME` set before starting gfsh to use this command.

In addition, if gfsh is not already connected to a JMX Manager, the gfsh console will automatically connect to the new embedded JMX Manager started by the new locator.

**Note:** When both `--max-heap` and `--initial-heap` are specified during locator startup, additional GC parameters are specified internally by <%=vars.product_name%>'s Resource Manager. If you do not want the additional default GC properties set by the Resource Manager, then use the`-Xms` and `-Xmx` JVM options. See [Controlling Heap Use with the Resource Manager](../../../managing/heap_use/heap_management.html#configuring_resource_manager) for more information.

**Availability:** Online or offline.

**Syntax:**

``` pre
start locator --name=value [--bind-address=value] [--force(=value)]
 [--groups=value(,value)*] [--hostname-for-clients=value]
 [--locators=value] [--log-level=value] [--mcast-address=value] [--mcast-port=value] [--port=value] [--dir=value]
 [--properties-file=value] [--security-properties-file=value] [--initial-heap=value] [--max-heap=value]
 [--connect(=value)] [--enable-cluster-configuration(=value)] [--load-cluster-configuration-from-dir(=value)]
 [--cluster-config-dir=value]
 [--http-service-port=value] [--http-service-bind-address=value] 
 [--J=value(,value)*]
```

<table>
<colgroup>
<col width="33%" />
<col width="33%" />
<col width="33%" />
</colgroup>
<thead>
<tr class="header">
<th>Name</th>
<th>Description</th>
<th>Default Value</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><span class="keyword parmname">\-\-name</span></td>
<td>Name to be used for this <%=vars.product_name%> locator service. If not specified, gfsh generates a random name.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-bind-address</span></td>
<td>IP address on which the locator will be bound.</td>
<td>bound to all addresses</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-force</span></td>
<td>Whether to allow the PID file from a previous locator run to be overwritten.</td>
<td>false</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-groups</span></td>
<td>Group(s) the locator will be a part of.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-hostname-for-clients</span></td>
<td>Hostname or IP address that will be sent to clients so they can connect to this locator.</td>
<td>uses the bind-address to which the locator is bound).</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-locators</span></td>
<td>List of locators used by this locator to join the appropriate <%=vars.product_name%> cluster.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-log-level</span></td>
<td>Level of output logged to the locator log file. Possible values for log-level include: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-mcast-address </span></td>
<td>IP address or hostname used to bind the UPD socket for multi-cast networking so the locator can locate other members in the <%=vars.product_name%> cluster. If mcast-port is zero, then mcast-address is ignored.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-mcast-port</span></td>
<td>Port used for multi-cast networking so the locator can locate other members of the <%=vars.product_name%> cluster. A zero value disables mcast.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-port</span></td>
<td>Port the locator will listen on.</td>
<td>10334</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-dir</span></td>
<td>Directory in which the Locator will be started and run.</td>
<td><span class="ph filepath">./&lt;locator-member-name&gt;</span></td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-properties-file</span></td>
<td>Specify the <code class="ph codeph">gemfire.properties</code> file for configuring the locator's distributed system. The file's path should be absolute or relative to gfsh's working directory.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-security-properties-file</span></td>
<td>The <span class="ph filepath">gfsecurity.properties</span> file for configuring the Locator's security configuration in the distributed system. The file's path can be absolute or relative to gfsh's working directory.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-initial-heap</span></td>
<td>Size has the same format as the <code class="ph codeph">-Xmx</code>/<code class="ph codeph">-Xms</code> JVM options.
<div class="note note">
<b>Note:</b> If you use the <code class="ph codeph">-J-Xms</code> and <code class="ph codeph">-J-Xmx</code> JVM properties instead of <code class="ph codeph">-initial-heap</code> and <code class="ph codeph">-max-heap</code>, then <%=vars.product_name%> does not use default JVM resource management properties. If you use the JVM properties, you must then specify all properties manually for eviction, garbage collection, heap percentage, and so forth.
</div></td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-max-heap</span></td>
<td>Size has the same format as the <code class="ph codeph">-Xmx</code>/<code class="ph codeph">-Xms</code> JVM options
<div class="note note">
<b>Note:</b> If you use the <code class="ph codeph">-J-Xms</code> and <code class="ph codeph">-J-Xmx</code> JVM properties instead of <code class="ph codeph">-initial-heap</code> and <code class="ph codeph">-max-heap</code>, then <%=vars.product_name%> does not use default JVM resource management properties. If you use the JVM properties, you must then specify all properties manually for eviction, garbage collection, heap percentage, and so forth.
</div></td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-connect</span></td>
<td>When connect is set to false, gfsh does not automatically connect to the locator which is started using this command.</td>
<td>true</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-enable-cluster-configuration</span></td>
<td>Enables cluster configuration behavior where locators maintain configurations for all members of a distributed system. 
See <a href="../../../configuring/cluster_config/gfsh_persist.html">Overview of the Cluster Configuration Service</a>.</td>
<td>true</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-load-cluster-configuration-from-dir</span></td>
<td>Loads the cluster configuration from the <span class="ph filepath">shared-config</span> directory. (When set to false, the configuration is loaded from the disk store of the internal, persistent region used by the locator to persist the configuration.)</td>
<td>false</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-cluster-config-dir</span></td>
<td>Directory used by the cluster configuration service to store the cluster configuration on the filesystem</td>
<td>cluster-config</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-http-service-port</span></td>
<td>Specifies the HTTP service port.</td>
<td>7070</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-http-service-bind-address</span></td>
<td>Specifies the IP address to which the HTTP service will be bound.
</td>
<td>the local host machine's address</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-J </span></td>
<td>Argument passed to the JVM on which the Locator will run. For example, specifying <code class="ph codeph">--J=-Dfoo.bar=true</code> sets property &quot;foo.bar&quot; to &quot;true&quot;.
<div class="note note">
<b>Note:</b>
<p>If the argument you are passing contains spaces or commas, enclose the option in single quotes. For example:</p>
<pre class="pre codeblock"><code>start locator --name=locator1 --port=9009 --mcast-port=0\
--J=&#39;-Dgemfire.remote-locators=192.0.2.0[9009],192.0.2.1[9009]&#39;</code></pre>
</div></td>
<td>none</td>
</tr>
</tbody>
</table>

<span class="tablecap">Table 5. Start Locator Parameters</span>

**Example Commands:**

``` pre
start locator --name=locator1
```

## <a id="topic_E906BA7D9E7F4C5890FEFA7ECD40DD77" class="no-quick-link"></a>start pulse

Launch the <%=vars.product_name%> Pulse monitoring dashboard tool in the user's default system browser and navigates the user to the landing page (login page).

For more information on <%=vars.product_name%> Pulse, see [<%=vars.product_name%> Pulse](../../pulse/pulse-overview.html).

**Availability:** Online or offline.

**Syntax:**

``` pre
start pulse [--url=value]
```

| Name                                        | Description                      | Default                       |
|---------------------------------------------|----------------------------------|-------------------------------|
| <span class="keyword parmname">\\-\\-url</span> | URL of the Pulse Web application | `http://localhost:7070/pulse` |

<span class="tablecap">Table 6. Start Pulse Parameters</span>

**Example Commands:**

``` pre
start pulse
start pulse --url=http://gemfire.example.com:7070/pulse
```

**Sample Output:** See [<%=vars.product_name%> Pulse](../../pulse/pulse-overview.html) for examples of Pulse.

## <a id="topic_3764EE2DB18B4AE4A625E0354471738A" class="no-quick-link"></a>start server

Start a <%=vars.product_name%> cache server process.

**Note:** When both <span class="keyword parmname">\\-\\-max-heap</span> and <span class="keyword parmname">\\-\\-initial-heap</span> are specified during server startup, additional GC parameters are specified on your behalf. If you do not want the additional default GC properties set, then use the `-Xms` and `-Xmx` JVM options to set just these parameters. See [Controlling Heap Use with the Resource Manager](../../../managing/heap_use/heap_management.html#configuring_resource_manager) for more information.

**Availability:** Online or offline.

**Syntax:**

``` pre
start server --name=value [--assign-buckets(=value)] [--bind-address=value]
    [--cache-xml-file=value] [--classpath=value] [--disable-default-server(=value)]
    [--disable-exit-when-out-of-memory(=value)] [--enable-time-statistics(=value)]
    [--force(=value)] [--include-system-classpath(=value)] [--properties-file=value]
    [--security-properties-file=value] [--groups=value(,value)*]
    [--locators=value] [--locator-wait-time=value] [--log-level=value]
    [--mcast-address=value] [--mcast-port=value] [--memcached-port=value]
    [--memcached-protocol=value] [--rebalance(=value)] [--server-bind-address=value]
    [--server-port=value] [--spring-xml-location=value]
    [--statistic-archive-file=value] [--dir=value] [--initial-heap=value]
    [--max-heap=value] [--use-cluster-configuration(=value)] [--J=value(,value)*]
    [--critical-heap-percentage=value] [--critical-off-heap-percentage=value]
    [--eviction-heap-percentage=value] [--eviction-off-heap-percentage=value]
    [--hostname-for-clients=value] [--max-connections=value]
    [--message-time-to-live=value] [--max-message-count=value] [--max-threads=value]
    [--socket-buffer-size=value] [--lock-memory=value] [--off-heap-memory-size=value]
    [--start-rest-api=value]
    [--http-service-port=value] [--http-service-bind-address=value]
    [--user=value] [--password=value]
```

<a id="topic_3764EE2DB18B4AE4A625E0354471738A__table_at5_bwg_2w"></a>

<table>
<colgroup>
<col width="33%" />
<col width="33%" />
<col width="33%" />
</colgroup>
<thead>
<tr class="header">
<th>Name</th>
<th>Description</th>
<th>Default Value</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><span class="keyword parmname">\-\-name</span></td>
<td>Member name for this <%=vars.product_name%> Cache Server service. If not specified, gfsh generates a random name.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-assign-buckets</span></td>
<td>Whether to assign buckets to the partitioned regions of the cache on server start.</td>
<td>false</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-bind-address</span></td>
<td>The IP address on which the Server will be bound.</td>
<td>binds to all addresses</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-cache-xml-file</span></td>
<td>Specifies the name of the XML file or resource to initialize the cache with when it is created.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-classpath</span></td>
<td>Application classes added to the server's CLASSPATH after the core jar file. See <a href="../../../getting_started/setup_classpath.html">Setting Up the CLASSPATH</a> for details.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-include-system-classpath</span></td>
<td>When true, include the System CLASSPATH on the Server's CLASSPATH, as the System CLASSPATH is not included by default. If specified without a value, the value is set to true.</td>
<td>false</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-disable-default-server</span></td>
<td>Whether the cache server will be started by default. If the parameter is specified without a value, the value is set to true. If set to true, the cache server acts as a peer.</td>
<td>false</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-disable-exit-when-out-of-memory</span></td>
<td>Prevents the JVM from exiting when an OutOfMemoryError occurs.</td>
<td>false</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-enable-time-statistics</span></td>
<td>Causes additional time-based statistics to be gathered for <%=vars.product_name%> operations.</td>
<td>true</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-properties-file</span></td>
<td>The <span class="ph filepath">gemfire.properties</span> file for configuring the Cache Server's distributed system. The file's path can be absolute or relative to the gfsh working directory.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-security-properties-file</span></td>
<td>The <span class="ph filepath">gfsecurity.properties</span> file for configuring the Server's security configuration in the distributed system. The file's path can be absolute or relative to gfsh directory.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-groups</span></td>
<td>Group(s) the Cache Server will be a part of.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-force</span></td>
<td>Whether to allow the PID file from a previous Cache Server run to be overwritten.</td>
<td>false</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-locators </span></td>
<td>Sets the list of locators used by the Cache Server to join the appropriate <%=vars.product_name%> cluster.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-locator-wait-time</span></td>
<td>Sets the number of seconds the server will wait for a locator to become available during startup before giving up.</td>
<td>0</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-log-level</span></td>
<td>Sets the level of output logged to the Cache Server log file. Possible values for log-level include: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-mcast-address</span></td>
<td>The IP address or hostname used to bind the UDP socket for multi-cast networking so the Cache Server can locate other members in the <%=vars.product_name%> cluster. If mcast-port is zero, then mcast-address is ignored.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-mcast-port</span></td>
<td>Sets the port used for multi-cast networking so the Cache Server can locate other members of the <%=vars.product_name%> cluster. A zero value disables mcast.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-memcached-port</span></td>
<td>If specified and is non-zero, sets the port number for an embedded Gemcached server and starts the Gemcached server.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-memcached-protocol</span></td>
<td>Sets the protocol used by an embedded Gemcached server. Valid values are <code class="ph codeph">BINARY</code> and <code class="ph codeph">ASCII.</code> If you omit this property, the ASCII protocol is used.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-server-bind-address</span></td>
<td>IP address on which the Server will be bound.</td>
<td>binds to all addresses</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-server-port</span></td>
<td>Port the Server will listen on for client connections.</td>
<td>40404</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-spring-xml-location</span></td>
<td>Specifies the location of a Spring XML configuration file(s) for bootstrapping and configuring a <%=vars.product_name%> Server. This configuration file can exist on the CLASSPATH (default) or any location supported by Spring's Resource(Loader) location specifiers (for example, classpath:, file:, etc). ResourceLoader is described in the 
<a href="http://docs.spring.io/spring/docs/4.0.9.RELEASE/spring-framework-reference/htmlsingle/#resources-resourceloader">Spring documentation</a>.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-rebalance</span></td>
<td>Whether to initiate rebalancing across the <%=vars.product_name%> cluster.</td>
<td>false</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-dir</span></td>
<td>Specify the directory in which the server will run in. This directory is written to the location where you started <code class="ph codeph">gfsh</code>.</td>
<td>If not specified, the directory is named after the server.</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-statistic-archive-file </span></td>
<td>The file that statistic samples are written to. An empty string (default) disables statistic archival.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-initial-heap</span></td>
<td>Initial size of the heap in the same format as the JVM -Xms parameter.
<div class="note note">
<b>Note:</b> If you use the <code class="ph codeph">--J=-Xms</code> and <code class="ph codeph">--J=-Xmx</code> JVM properties instead of <code class="ph codeph">--initial-heap</code> and <code class="ph codeph">--max-heap</code>, then <%=vars.product_name%> does not use default JVM resource management properties. If you use the JVM properties, you must then specify all properties manually for eviction, garbage collection, heap percentage, and so forth.
</div></td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-max-heap</span></td>
<td>Maximum size of the heap in the same format as the JVM -Xmx parameter.
<div class="note note">
<b>Note:</b> If you use the <code class="ph codeph">--J=-Xms</code> and <code class="ph codeph">--J=-Xmx</code> JVM properties instead of <code class="ph codeph">--initial-heap</code> and <code class="ph codeph">--max-heap</code>, then <%=vars.product_name%> does not use default JVM resource management properties. If you use the JVM properties, you must then specify all properties manually for eviction, garbage collection, heap percentage, and so forth.
</div></td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-J</span></td>
<td>Argument passed to the JVM on which the Cache Server will run. For example, <code class="ph codeph">--J=-Dfoo.bar=true</code> will set the property &quot;foo.bar&quot; to &quot;true&quot;.
<p>If the argument you are passing contains spaces or commas, enclose the option in single quotes.</p></td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-use-cluster-configuration</span></td>
<td>Specifies whether the server requests a cluster configuration from the locator. 
See <a href="../../../configuring/cluster_config/gfsh_persist.html">Overview of the Cluster Configuration Service</a>.</td>
<td>true</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-critical-heap-percentage</span></td>
<td>Set the percentage of heap at or above which the cache is considered in danger of becoming inoperable due to garbage collection pauses or out of memory exceptions. Past the threshold, operations that require heap space will throw a <code class="ph codeph">LowMemoryException</code>. This feature requires additional VM flags to perform properly; you must set <code class="ph codeph">--initial-heap</code> and <code class="ph codeph">--max-heap</code> or the corresponding JVM properties to use this threshold. You must also set <code class="ph codeph">--max-heap</code> and <code class="ph codeph">--initial-heap</code> to the same value.</td>
<td>0 (no critical heap threshold enforced)</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-critical-off-heap-percentage</span></td>
<td>The percentage of off-heap memory used at or above which the cache is considered in danger of becoming inoperable due to out of memory exceptions. Past the threshold, operations that require heap space will throw a <code class="ph codeph">LowMemoryException</code>.</td>
<td>0 (no critical off-heap threshold enforced)</td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-eviction-heap-percentage</span></td>
<td>Set the percentage of heap at or above which the eviction should begin on Regions configured for HeapLRU eviction. Changing this value may cause eviction to begin immediately. Only one change to this attribute or critical heap percentage will be allowed at any given time and its effect will be fully realized before the next change is allowed. This feature requires additional VM flags to perform properly; you must set <code class="ph codeph">--initial-heap</code> and <code class="ph codeph">--max-heap</code> or the corresponding JVM properties to use this threshold. You must also set <code class="ph codeph">--max-heap</code> and <code class="ph codeph">--initial-heap</code> to the same value.</td>
<td><ul>
<li>0, if no region is configured with heap eviction</li>
<li>If <code class="ph codeph">critical-heap-percentage</code> is set to a non-zero value, 5% less than that value.</li>
<li>80%, if <code class="ph codeph">critical-heap-percentage</code> is not configured.</li>
</ul></td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-eviction-off-heap-percentage</span></td>
<td>The percentage of off-heap memory used at or above which the eviction should begin on regions configured for off-heap and HeapLRU eviction. Changing this value may cause eviction to begin immediately. Only one change to this attribute or critical off-heap percentage will be allowed at any given time, and its effect will be fully realized before the next change is allowed.</td>
<td><ul>
<li>0, if no region is configured with heap eviction</li>
<li>If <code class="ph codeph">critical-off-heap-percentage</code> is set to a non-zero value, 5% less than that value.</li>
<li>80%, if <code class="ph codeph">critical-off-heap-percentage</code> is not configured.</li>
</ul></td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-hostname-for-clients</span></td>
<td>Sets the ip address or host name that this cache server is to listen on for client connections. Setting a specific hostname-for-clients causes server locators to use this value when telling clients how to connect to this cache server. This is useful in the case where the cache server may refer to itself with one hostname, but the clients need to use a different hostname to find the cache server. The value &quot;&quot; causes the bind-address to be given to clients. A null value will be treated the same as the default &quot;&quot;.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-max-connections</span></td>
<td>Sets the maximum number of client connections allowed. When the maximum is reached the cache server will stop accepting connections</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-message-time-to-live</span></td>
<td>Sets the time (in seconds ) after which a message in the client queue will expire.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-max-message-count</span></td>
<td>Sets maximum number of messages that can be enqueued in a client-queue.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-max-threads</span></td>
<td>Sets the maximum number of threads allowed in this cache server to service client requests. The default of 0 causes the cache server to dedicate a thread for every client connection.</td>
<td> </td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-socket-buffer-size</span></td>
<td>Sets the buffer size in bytes of the socket connection for this CacheServer. The default is 32768 bytes.</td>
<td> </td>
</tr>
<tr class="odd">
<td><span class="keyword parmname">\-\-lock-memory</span></td>
<td>(Linux only) When true, the member's heap and off-heap memory are locked in RAM, preventing them from being paged to disk. You must increase the related <code class="ph codeph">ulimit</code> operating system resource to allow the OS to lock memory chunks of sufficient size.</td>
<td>false</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-off-heap-memory-size</span></td>
<td>The integer quantity of off-heap memory to be used for storing region values. Specified in Gigabytes with a 'g' suffix, or Megabytes with an 'm' suffix. For example, allocate a 2 Gigabyte off-heap space with <code class="ph codeph">--off-heap-memory-size=2g</code>. The default value of 0 does not use any off-heap memory.</td>
<td>0</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-start-rest-api</span></td>
<td>When true, starts the REST API service.</td>
<td>false</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-http-service-port</span></td>
<td>Specifies the HTTP service port.</td>
<td>7070</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-http-service-bind-address</span></td>
<td>Specifies the IP address to which the HTTP service will be bound.
</td>
<td>the local host machine's address</td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-user</span></td>
<td>The user name of the credential to use in authenticating to the cluster.
When specified, if the <code>--password</code> option is not also specified,
then <code>gfsh</code> will prompt for the password.
</td>
<td></td>
</tr>
<tr class="even">
<td><span class="keyword parmname">\-\-password</span></td>
<td>The password portion of the credential to use in authenticating to
the cluster.
</td>
<td></td>
</tr>
</tbody>
</table>

<span class="tablecap">Table 7. Start Server Parameters</span>


### <a id="topic_3764EE2DB18B4AE4A625E0354471738A__section_A50120613D3C4A848463236C4EFF18C7" class="no-quick-link"></a>Examples

``` pre
gfsh>start server --name=server1
gfsh>start server --name=server2 --server-port=40405
```
