# Server Knobs - How in the world do you set them

**URL:** <https://forums.foundationdb.org/t/server-knobs-how-in-the-world-do-you-set-them/3628>\
**Category:** Kubernetes Operator\
**Tags:** operator\
**Created:** [October 27, 2022, 3:16pm UTC](https://forums.foundationdb.org/t/server-knobs-how-in-the-world-do-you-set-them/3628 "2022-10-27T15:16:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![rwilliams](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/rwilliams/32/1453_2.png) [@rwilliams](https://forums.foundationdb.org/u/rwilliams)\
**Post date:** [October 27, 2022, 3:16pm UTC](https://forums.foundationdb.org/t/server-knobs-how-in-the-world-do-you-set-them/3628/1 "2022-10-27T15:16:02Z")

</div>

We are using the operator for a large deployment of fdb in k8s using the operator.

We are using the cluster spec:

apiVersion: [apps.foundationdb.org/v1beta2](http://apps.foundationdb.org/v1beta2)  
kind: FoundationDBCluster

In the spec we are trying to set the custom paramter “storage\_hard\_limit\_bytes”.

How we are doing this is with the “customParameter” section of the spec above:

```
storage:
  customParameters:
    - storage_hard_limit_bytes=3500000000

```

This does not work and stops the cluster from correctly reconciling can any help me with what is wrong if it is my understanding or in how we are setting this knob option?

Note we know we need to increase this variable from a lot of performance testing we just do not know how to do this. For some other information, we are using the RecordLayer in Java as a client. I got a little lost looking at the NetworkOptions trying to set the knob this way.

---

<div class="post-metadata">

**Author:** ![padamson](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/padamson/32/1420_2.png) [@padamson](https://forums.foundationdb.org/u/padamson)\
**Post date:** [March 8, 2023, 12:12pm UTC](https://forums.foundationdb.org/t/server-knobs-how-in-the-world-do-you-set-them/3628/2 "2023-03-08T12:12:19Z")

</div>

This seems to work 👀

```auto
 processes:
    general:
      customParameters:
      - memory=20GiB
      - knob_storage_hard_limit_bytes=10GiB
      - knob_target_bytes_per_storage_server=9GiB

```

which seems to be correctly interpreted into the commandline which I can see from the operator logs:

````plaintext
/usr/bin/fdbserver 
--class=log 
--cluster_file=/var/fdb/data/fdb.cluster 
--datadir=/var/fdb/data 
--knob_storage_hard_limit_bytes=10GiB 
--knob_target_bytes_per_storage_server=9GiB
...```
````

---

<div class="post-metadata">

**Author:** ![johscheuer](https://avatars.discourse-cdn.com/v4/letter/j/f475e1/32.png) [@johscheuer](https://forums.foundationdb.org/u/johscheuer)\
**Post date:** [March 8, 2023, 1:10pm UTC](https://forums.foundationdb.org/t/server-knobs-how-in-the-world-do-you-set-them/3628/3 "2023-03-08T13:10:02Z")

</div>

@padamson is correct on how to set the knob. We have an example in our docs: [fdb-kubernetes-operator/operations.md at main · FoundationDB/fdb-kubernetes-operator · GitHub](https://github.com/FoundationDB/fdb-kubernetes-operator/blob/main/docs/manual/operations.md#adding-a-knob) (if anything is missing please let us know). The parameters that are set in `customParameters` are directly passed down to the fdbmonitor configuration, so you have to make sure you set the correct parameters. It basically allows the user to set all configuration setting documented in [Configuration — FoundationDB 7.2](https://apple.github.io/foundationdb/configuration.html#the-configuration-file) and all knobs (which must have the prefix `knob_`.
