Storage Bottleneck Guide
What We Capture
Lustre
/proc/fs/lustre/*/jobstats: read_bytes, write_bytes, OST distribution, MDS RPC counts./proc/fs/lustre/llite/*/dump_page_cache.lctl get_param osc.*.statsfor OST throughput.
BeeGFS
beegfs-ctl --listnodes --mirror.beegfs-ctl --storagepool --listnodes./proc/beegfs/*/conn_stats.
NFS
/proc/net/rpc/nfsdper-op stats.nfsstat -sserver-side./proc/self/mountstatsper-mount.
S3
- Latency per GetObject / PutObject.
- 5xx throttle counts.
Rules
| Rule | Trigger |
|---|---|
| OST_RETRY_STORM | retry count > 50 / min |
| MDT_P99_LATENCY_HIGH | MDT p99 > 4× baseline |
| CHECKPOINT_WRITE_SLOW | checkpoint write > 30s p99 |
| CHECKPOINT_INVENTORY_DRIFT | shard newer than manifest |
| S3_THROTTLED | 5xx > 1 % over 5 min |
Common Symptoms and Causes
Symptoms: NCCL collectives stall mid-job
- Often a saturated OST or MDT. The OST p99 rule fires.
- Cross-reference with the rank that first started stalling.
Symptoms: checkpoint save stalls at step 5k
- Often Lustre OST saturation. Inspect job stats.
- Run
lctl dlto see active connections.
Symptoms: S3 throttle during checkpoint
- Storage rule fires; check
S3_THROTTLED. - Recommend checkpointing to a dedicated bucket or moving to a different prefix.
Local-Side
We monitor PSI / cgroup on the agent host:
/proc/pressure/cpuand/proc/pressure/memory.- Cgroup memory
highexhaustion. - Cgroup
memory.events.low/high/oomcounters.
When the local disk is exhausted, denpex raises StorageEvent::LocalCgroupExhausted and surfaces the GPU host as the source.
See Also
docs/data-collection-matrix.md#checkpoint-inventory.docs/checkpoint-integrity-guide.md.