Costs
See what your org spends and where it goes, on one page. Costs puts LLM spend and compute spend side by side for the last 30 days, shows how the total splits between them, and lets you drill into either one: tokens by person and model on the LLM tab, node pools, disks and prices on the Compute tab. Compute includes CPU, memory and disk. Org owners and admins open it from Dashboards > Costs.
What you can do with it
- Answer “what do we spend, and where?” Read the total, the LLM and compute split, and the daily trend at the top of the page.
- See who drives the spend. Both tabs break cost down by person, so you know whose agents use the most models and the most compute.
- Find out where your storage goes. Sort every space disk by size or owner, and see which disks are in use, which clean themselves up and which stay.
- Reclaim disks from forgotten spaces. Select stopped spaces and archive them in one action. Their disks are released and the files stay safe in the archive.
- Match your real prices. Enter your discount, your own machine prices and the managed services you pay for, or connect your cloud bill, so every figure fits your contract.
What do we spend, and where?
Maya runs platform for 300 engineers. Her CFO asks a simple question before the quarterly review: what does Marshal cost us, and is it the models or the machines?
She opens Dashboards > Costs. Four cards answer it for the last 30 days:
| Card | What it shows |
|---|---|
| Total | LLM plus compute. |
| LLM | Model spend across the org. |
| Compute | What the cluster cost, with the part Used by spaces and the part idle underneath. |
| Compute share | Compute as a share of the total. |
Under the cards, a bar splits the total into LLM and Compute, and one sentence gives the answer in words, such as “Compute was 6% of your spend in the last 30 days.” The Daily spend chart stacks each day’s LLM, Compute used and Idle, so a spike on one day stands out and you can see which part caused it.
Maya’s bar is almost all LLM. That is her answer: the cluster is a small slice of her bill, and the place to look for savings is model usage. She switches to the LLM tab to see whose agents spend the most.
How compute is counted
- Compute is the whole cluster: its nodes and its disks.
- Used by spaces adds up the compute cost of every space in your org: the CPU and memory it requested for the time it ran, plus its disk for as long as the disk existed. It is the same figure each space shows on its own Costs tab, so the per-space numbers add up to it.
- Idle is the rest: node capacity no space requested, node boot disks and orphaned disks. It is the headroom that keeps new spaces starting fast.
When several orgs share one cluster, each org other than the install’s primary org sees the compute its own spaces used. The Idle part and the whole-cluster figure belong to the cluster, so for those orgs the total is LLM plus compute used.
Prices come from your cloud bill when your administrator connects it, otherwise from your custom prices or the public list prices. A figure that can still change, such as one priced from list prices, is marked Compute is estimated. See Billed compute cost.
The LLM tab
The LLM tab shows token spend for the Last 7 days, Last 30 days or Last 90 days, for All users or one person. The tiles count Input tokens, Output tokens, Cache write tokens and Cache read tokens, with the Cache hit rate and the Est. cost.
The table below lists every person with their tokens, then three money columns: LLM, Compute and Total. Expand a person to see their spend by model. LLM prices come from Settings > LLM Cost.
The Compute tab
The Compute tab is where you read what the cluster costs per month, where your storage goes, and who uses the compute.
The life of a space disk
Every space keeps its files on a disk. What happens to that disk depends on the kind of space and how it stopped.
A run space gives its disk back on its own. A stopped interactive space keeps its disk until someone archives or deletes it, because it holds a person’s work. The Compute tab shows you which path every disk is on.
Find out where your storage goes
The storage line on Maya’s bill keeps growing and she wants to know why.
She opens the Compute tab. The disk tiles answer the first question: how much disk space is Attached to running spaces, how much is Detached, and how much is Reclaimable, meaning detached and kept until archived. Below them, Disk space by verdict shows the split as a chart, and By owner shows who holds how much.
The Space disks table lists one row per disk:
| Column | What it tells you |
|---|---|
| Space and Owner | Whose disk it is |
| Kind | Run or Interactive |
| State and Stopped | The state of the space, and when and why it stopped |
| Size and Attached | How much it holds, and whether a running space is using it |
| Type | The disk type it is priced as, such as pd-balanced or gp3, with its storage class beside it |
| Reaper | What happens to it next |
| Cost so far | What the disk has cost since it was created |
| Left to pay | What it will cost until the reaper removes it, or a cost per day when it stays until someone acts |
Most space disks live for hours, not months, so the table shows cost in the time a disk really lives. Hover a cost to see the monthly rate behind it. Below the table, a line adds up the cost so far, what is left to pay before removal, and the daily cost of the disks that stay. When you select spaces to archive, the page shows how much per day archiving them saves.
The Reaper column is the one to read. It uses the same rules and the same retention windows as the hourly cleanup, so it never disagrees with what actually happens:
| Verdict | What it means |
|---|---|
| In use | A running space is attached to it. |
| Removed in about N h | A finished run space. It is cleaned up automatically after your org’s finished-run disk retention. |
| Kept while the run is live | The run is parked and can still continue, so its space stays. |
| Being removed | The space is archived or deleted. Its disk is cleaned up shortly, and the row says Removed in about N min. |
| Kept until archived | A stopped interactive space. It keeps its disk until it is archived. |
Maya filters by owner, kind, state and verdict. She sees that most of the weight is Kept until archived: spaces from people who finished a project and moved on. The cleanup that runs by itself is not the issue, and now she knows where to look.
The tab also lists Orphaned disks: storage that no space owns any more, with its size, age and cost per month. Each one is easy to spot. To delete one, remove its volume with kubectl or delete the disk in your cloud console. The tab stays read-only on purpose, so nothing is removed by accident.
Reclaim disks from forgotten spaces
Maya sends the list of forgotten spaces to the team leads. Some of them archive their own. For the rest, she does it herself.
- In the Space disks table, filter on Interactive and Kept until archived.
- Tick the spaces to archive. Only stopped interactive spaces that have a backup of their files can be selected. Running spaces, run spaces and spaces that are already archived are greyed out, with the reason.
- Choose Archive, check the count, and confirm.
You can archive up to 100 spaces in one action. A dialog shows the result for each space as it finishes. If an owner started one of them in the meantime, that space is left alone and the dialog says why, while the others are archived.
Archiving releases the disk. The files stay in your org’s storage, and each space can be restored from the Archive page until the archived-space retention ends. Owners lose nothing: a restored space comes back stopped and ready to resume. See Retention and archive for the timers.
Know what the cluster costs per month
The cost tiles at the top of the Compute tab give a monthly view of the cluster:
- Estimated monthly cost is the total.
- Compute is the node pools, listed under Cost by node pool with machine type, node count, how many nodes are spot, how much CPU and memory is Requested and how much is Used, and the cost per month.
- Disk storage adds space disks, node boot disks and orphaned disks.
- Other adds the cost lines you entered yourself.
Every amount is rounded and labelled Estimated. A line under the tiles tells you which price list was used, its date, and whether it was downloaded or comes from the list built into your release. Prices come from the public list prices for Google Cloud and AWS. Marshal publishes them, and your installation refreshes them every day. A copy is also built into every release, so there is always a price list to use. No cloud credentials are involved.
When several orgs share one cluster, you see your org’s share of the nodes. Other orgs appear as one combined total, with no names and no detail.
If a machine type or disk type has no price, the row shows No price. A line under the tiles names each item the total leaves out, such as the boot disk of a node or the disk of a space, and Set prices takes you straight to the Prices panel to add it.
See who uses the compute
Compute by user (30d) lists every person whose spaces had a compute cost in the last 30 days, with their Space-hours and the CPU, Memory, Disk and Total cost of those spaces. It uses the same prices as the rest of the page, so its totals add up to the compute used by spaces.
Match your real prices
List prices are a good start. Your contract is better. Maya’s company has a committed-use discount and runs a managed database and a load balancer next to the cluster.
She opens the Prices panel on the Compute tab. It already lists every machine type and every disk type her cluster uses, each filled in with the list price and showing how many nodes or disks use it. She changes only what her contract says differently:
| Setting | What it does |
|---|---|
| Discount % | A percentage taken off every list price. Priced items are marked as discounted. |
| Spot discount % | The percentage off for spot nodes where the price list has no spot price of its own. |
| Machine prices | One row per machine type, per hour per node. Type your own price and the row is marked custom. Use list price goes back to the list. |
| Disk prices | One row per disk type, per GB-month, including the Node boot disk. The same custom mark and Use list price apply. |
| Add type | A price for a machine or disk type you are about to start using. |
| Other costs | Named lines such as “Managed database” or “Load balancer”, each with a monthly amount. |
The disk type is the same one the Type column shows. On a cloud it is the disk type of the storage class, such as pd-ssd or gp3. On a cluster you run yourself, such as k3s with the local-path storage class, it is the storage class name, and the node boot disks appear as Node boot disk. Enter a price for those rows and they count toward the total, with no price list needed. The same goes for a machine type such as k3s.
A custom price always wins over the discount, and the item is marked as a custom price. The estimate updates the moment you save. Other costs appear by name under Other costs and count toward the monthly total, so the number you share with finance covers the whole picture.
The same prices give every space and run its compute cost, so the Costs page, the Costs tab of each space and the figures on every dashboard agree with each other.
On AWS and Google Cloud, your administrator can go one step further and connect the cloud bill. Node pools are then priced from what you actually pay and carry a billed badge, and each machine row in the Prices panel shows its billed price next to the list price. See Billed compute cost.
Compute next to LLM, everywhere
Wherever Marshal shows what something spent on models, it shows what it spent on compute beside it:
- The Costs tab of every space and run opens with the total and its LLM and compute split, then a Compute card with CPU, Memory and Disk, then the LLM detail.
- The Sessions dashboard has a Compute column next to LLM, and a space’s details show both.
- The Children panel of a run, the Orchestration dashboard and the Deputies cost panel show compute cost next to LLM cost. See Admin dashboards.
- Members see their own Compute cost next to their LLM spend under My usage.
Configure it
| Setting | Where | Default | Who changes it |
|---|---|---|---|
| Discount %, spot discount %, custom machine and disk prices, other costs | Prices panel on the Compute tab (Adjust prices) | None | Org owners and admins |
| Finished-run disk retention | Settings > Configuration, Finished Run Disk Retention (hours) | 2 hours | Org owners and admins |
| Archived-space retention | Settings > Configuration, Archived Space Retention (days) | 7 days | Org owners and admins |
| Fallback compute rate, used only when the cluster has no prices at all | Settings > Configuration, Hourly Rate (cents) | 20 cents per space hour | Org owners and admins. See Admin dashboards. |
| Price list address | Helm value pricing.baseUrl | https://assets.marshalstatic.com/pricing/v1 | Whoever installs Marshal. See Configuration. |
| Billed prices from the cloud bill | Helm value cost.billing.source | none | Whoever installs Marshal. See Billed compute cost. |
The two retention settings decide how long the Removed in about N h countdown runs and how long an archived space can be restored.
Good to know
- The summary at the top covers the last 30 days. The LLM tab has its own range.
- The cleanup runs every hour, so a removal time is accurate to about an hour.
- Amounts are in US dollars, and a month counts as 730 hours.
- A space’s disk counts from the moment it is created until it is removed, including time it sits detached while the space is stopped.
- On a cloud, node boot disks are priced as the cloud’s balanced disk type. Elsewhere they use the Node boot disk price.
- Old links to the Infrastructure and LLM Cost dashboards open the matching tab of this page.
- Only owners and admins see this page. Other members do not see the item.
Try it
Open Dashboards > Costs and read the sentence under the share bar. Then open the Compute tab, read the Reclaimable tile, and filter the Space disks table to Kept until archived.