oxidecomputer / oxidecomputer/omicron

MGS is using a surprisingly large amount of memory

Open
#9,192 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Description

On dogfood from prstat:

   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP
  1911 root       12G   10G cpu110   0    0   1:07:40 0.2% mgs/132

Chatted with @hawkw about this briefly; we think maybe a hiccup in Oximeter collection (possibly induced by an update rebooting the sled hosting it) caused MGS to fill its channel with samples, which does have an upper bound but maybe it's a little bigger than we expected.

Nothing urgent here, I don't think, but filing this so we can poke at it more and see if we can confirm what's going on (and decide whether we're okay with it).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the reported prstat memory usage for MGS and inspect the Oximeter collection path and its bounded sample channel. Determine whether a collection hiccup, such as an update rebooting the hosting sled, can fill the channel to this size; done means confirming the cause and deciding whether the memory usage is acceptable.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, observability-sre
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.