OP-Geth Disk Usage Keeps Growing Uncontrollably: Path Scheme Not Auto-Pruning, Hash Scheme Manual Pruning Not Supported #924
Replies: 1 comment 1 reply
-
|
I think two different things are getting mixed together here. From the
That looks more like normal chain history growth than failed path-state pruning.
In current The second issue is the offline prune error. In current if rawdb.ReadStateScheme(chaindb) != rawdb.HashScheme {
log.Crit("Offline pruning is not required for path scheme")
}So that command is checking the scheme already stored on disk, not the flag you passed for this run. Also, So my read is:
If you want to confirm that, keep comparing these separately over time:
If If you want to test true hash-mode offline pruning, do it with a fresh datadir that was synced with |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Are you running the most up to date node software?
Did you check the documentation?
Did you check for duplicate questions?
Issue Description
I'm experiencing severe disk usage growth issues when running an Optimism Full Node. Neither State Scheme can effectively control disk usage.
Problem 1: Path Scheme Not Auto-Pruning
I initially ran the node with
--state.scheme=pathconfiguration. According to the documentation, Path Scheme should automatically prune state in the background, keeping disk usage within a reasonable range (approximately 300-400GB).However, the actual situation is:
Actual monitoring data (Path Scheme):
Questions:
Why does disk usage keep growing instead of stabilizing at a certain value?Is Path Scheme's automatic pruning mechanism actually working?Is there specific configuration required to trigger automatic reclamation?
Problem 2: Hash Scheme Does Not Support Manual Pruning
When I found that Path Scheme couldn't control disk growth, I tried switching back to Hash Scheme and planned to perform manual pruning periodically. However, when I attempted to execute offline pruning, I encountered an unexpected error.
Error message received:
This is weird because i start op-geth in hash
Actual monitoring data (Hash Scheme):
{"timestamp":"2026-02-25 15:59:31","total_human":"1.10TB","ancient_human":"611.10GB","recent_human":"519.48GB"} {"timestamp":"2026-02-25 16:00:01","total_human":"1.10TB","ancient_human":"611.63GB","recent_human":"519.48GB"} {"timestamp":"2026-02-25 17:00:01","total_human":"1.11TB","ancient_human":"619.19GB","recent_human":"521.16GB"} {"timestamp":"2026-02-25 18:00:01","total_human":"1.11TB","ancient_human":"619.23GB","recent_human":"521.12GB"} {"timestamp":"2026-02-25 19:00:01","total_human":"1.11TB","ancient_human":"619.26GB","recent_human":"521.29GB"} {"timestamp":"2026-02-25 20:00:01","total_human":"1.11TB","ancient_human":"619.28GB","recent_human":"521.48GB"} {"timestamp":"2026-02-25 21:00:01","total_human":"1.11TB","ancient_human":"619.31GB","recent_human":"521.57GB"} {"timestamp":"2026-02-25 22:00:01","total_human":"1.11TB","ancient_human":"619.34GB","recent_human":"521.76GB"} {"timestamp":"2026-02-25 23:00:01","total_human":"1.11TB","ancient_human":"619.37GB","recent_human":"521.96GB"} {"timestamp":"2026-02-26 00:00:01","total_human":"1.11TB","ancient_human":"619.41GB","recent_human":"522.14GB"} {"timestamp":"2026-02-26 01:00:01","total_human":"1.11TB","ancient_human":"619.44GB","recent_human":"522.42GB"} {"timestamp":"2026-02-26 02:00:01","total_human":"1.11TB","ancient_human":"619.47GB","recent_human":"522.65GB"} {"timestamp":"2026-02-26 03:00:01","total_human":"1.11TB","ancient_human":"619.50GB","recent_human":"523.00GB"} {"timestamp":"2026-02-26 04:00:01","total_human":"1.11TB","ancient_human":"619.53GB","recent_human":"522.86GB"} {"timestamp":"2026-02-26 05:00:01","total_human":"1.11TB","ancient_human":"619.56GB","recent_human":"523.12GB"} {"timestamp":"2026-02-26 06:00:01","total_human":"1.11TB","ancient_human":"619.59GB","recent_human":"523.41GB"} {"timestamp":"2026-02-26 07:00:02","total_human":"1.11TB","ancient_human":"619.62GB","recent_human":"523.75GB"} {"timestamp":"2026-02-26 08:00:02","total_human":"1.11TB","ancient_human":"619.66GB","recent_human":"524.07GB"} {"timestamp":"2026-02-26 09:00:02","total_human":"1.11TB","ancient_human":"619.69GB","recent_human":"524.38GB"} {"timestamp":"2026-02-26 10:00:02","total_human":"1.11TB","ancient_human":"619.71GB","recent_human":"524.67GB"}This means:
Steps to Reproduce
I follow the instruction in https://docs.optimism.io/node-operators/tutorials/node-from-docker, and modify the start-op-geth.sh in /script:
This is how i try to prune in hash scheme:
Which component is affected?
Expected vs. Actual Behavior
Expecte the disk usage of op-geth will be stable , but usage keep going up and the pruning seems not work in data both hash/path scheme.
Environment Details
Ubuntu 22.04
Model name: Intel(R) Xeon(R) Platinum 8575C
CPU(s): 4
Memory:
free -h
total used free shared buff/cache available
Mem: 30Gi 8.2Gi 312Mi 145Mi 22Gi 23Gi
Swap: 0B 0B 0B
Protocol Information
CONTAINER REPOSITORY TAG IMAGE ID SIZE
simple-optimism-node-bedrock-init-1 simple-optimism-node-bedrock-init latest cb8655ecf7ba 1.44GB
simple-optimism-node-healthcheck-1 ethereumoptimism/replica-healthcheck latest b0a2d1a00d50 3.91GB
simple-optimism-node-op-geth-1 us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth v1.101603.5 98a8cd504f1b 69.8MB
simple-optimism-node-op-node-1 us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node v1.16.2 1917c778cdab 81.3MB
Node Logs
No response
Troubleshooting Attempts
No response
Additional Information
No response
Feedback
No response
Beta Was this translation helpful? Give feedback.
All reactions