> For the complete documentation index, see [llms.txt](https://help.fovus.co/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.fovus.co/docs/pipeline/miniwdl/miniwdl-submission/enable-memguard.md).

# Enable Memguard for miniWDL

Enable Fovus Memguard memory checkpointing for miniWDL tasks.

[Fovus Memguard](/docs/memguard/overview.md) checkpoints task memory periodically and on spot interruption, so an interrupted task resumes from its last checkpoint instead of restarting from scratch. Before enabling it, confirm your workload meets the [Memguard prerequisites](/docs/memguard/enable-memguard.md#prerequisites) — container architecture, working directory, `glibc` version, and any JVM or network-retry adjustments.

## Enable memory checkpointing

Set `isMemoryCheckpointingEnabled` as a Fovus Token in the task's `runtime{}` block:

```wdl
runtime {
    docker: "biocontainers/bwa:latest"
    isMemoryCheckpointingEnabled: true
    allowPreemptible: true  # recommended — enables spot instances
}
```

`isMemoryCheckpointingEnabled` is the only attribute required to activate Memguard. `allowPreemptible` is optional but strongly recommended — spot instances are the primary scenario Memguard protects against.

As with any Fovus Token, wire these to workflow inputs if you want to override them per run from `inputs.json` without editing the WDL file — see [Prepare inputs and configure WDL](/docs/pipeline/miniwdl/miniwdl-submission/prepare-inputs.md).

For the full attribute reference, see [miniWDL configuration reference](/docs/pipeline/miniwdl/miniwdl-config-reference.md).

{% hint style="info" %}
Fovus automatically injects the Docker run options required for Memguard into each task's container invocation. You do not need to configure any Docker flags manually. The injected flags are: `--privileged`, `--cap-add=SYS_PTRACE`, `--init`, `--security-opt seccomp=unconfined`, `--detach`, `-v fovus-libs:/opt/fovus-libs`, `-v $PWD/.fovus-tmp:/tmp`, `--cgroupns=private`.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.fovus.co/docs/pipeline/miniwdl/miniwdl-submission/enable-memguard.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
