# Optimizing Linux

When optimizing Linux systems, typically the goal is to allow cost savings or improve performance and the quality of service, such as sustaining higher levels of traffic or enabling transactions with lower latency.

Please refer to the [Linux optimization pack](https://docs.akamas.io/akamas-docs/3.1.2/akamas-reference/optimization-packs/linux-pack) for the list of component types, parameters, metrics, and constraints.&#x20;

### Workflows <a href="#workflow-design" id="workflow-design"></a>

#### Applying parameters <a href="#applying-parameters" id="applying-parameters"></a>

Akamas provides the [LinuxConfigurator operator](https://docs.akamas.io/akamas-docs/3.1.2/akamas-reference/workflow-operators/linuxconfigurator-operator) as the preferred way to apply Linux parameters to a system to be optimized. The operator connects via SSH to your Linux components and will employ different strategies to apply Linux parameters. Notice that this operator allows you to exclude some block/network devices from being configured.

#### A typical workflow

You can organize a typical workflow to optimize Linux in three parts:

1. **Configure Linux**
   * Use the [LinuxConfigurator operator](https://docs.akamas.io/akamas-docs/3.1.2/akamas-reference/workflow-operators/linuxconfigurator-operator) to apply configuration parameters to the operating system, no restart is required
2. **Test the performance of the system**
   * Use [workflow operators](https://docs.akamas.io/akamas-docs/3.1.2/akamas-reference/workflow-operators) to execute a performance test against the system
3. **Perform some cleanup**
   * Use [workflow operators](https://docs.akamas.io/akamas-docs/3.1.2/akamas-reference/workflow-operators) to perform any clean-up to guarantee any subsequent execution of the workflow will run without problems

Here’s an example of a typical workflow for a Linux system:

{% code lineNumbers="true" %}

```yaml
name: "linux workflow"
tasks:
- name: "set linux parameters"
  operator: "LinuxConfigurator"
  arguments:
    component: "mylinuxcomponent"

- name: "execute performance test"
  operator: "Executor"
  arguments:
    host:
      hostname: "perf.mycompany.com"
      key: "..."
      username: "perf"
    command: "/home/perf/start.sh"
```

{% endcode %}

### Telemetry Providers <a href="#telemetry-providers" id="telemetry-providers"></a>

Akamas does not provide any specialized telemetry solution to gather Linux metrics as these metrics can be collected in a variety of ways, leveraging a plethora of existing solutions. For example, the [Prometheus provider](https://docs.akamas.io/akamas-docs/3.1.2/integrating-akamas/integrating-telemetry-providers/prometheus-provider) supports Linux system metrics.&#x20;
