Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] - High CPU/RAM/IO usage for cardano-node #5330

Open
outermeasure opened this issue Jun 16, 2023 · 7 comments
Open

[BUG] - High CPU/RAM/IO usage for cardano-node #5330

outermeasure opened this issue Jun 16, 2023 · 7 comments
Labels
type: bug Something is not working

Comments

@outermeasure
Copy link

outermeasure commented Jun 16, 2023

External

Performance of running cardano-node

Summary
High CPU, RAM and disk usage.

Steps to reproduce

  1. Run Cardano node locally.
  2. Observe a high CPU, RAM and disk usage.

Expected behavior
Lower CPU (right now it looks like it uses 2 full cores), it should use around 33% of what it does today to be viable on lower end setup.
Lower RAM usage, can it be done in under 8GB?
Lower Disk usage.

System info (please complete the following information):

lshw -short
Device     Class          Description
=====================================
           system         PowerEdge T20 (PowerEdge T20)
           bus            0VD5HY
           memory         64KiB BIOS
           processor      Intel(R) Xeon(R) CPU E3-1225 v3 @ 3.20GHz
           memory         256KiB L1 cache
           memory         1MiB L2 cache
           memory         8MiB L3 cache
           memory         16GiB System Memory
           memory         4GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns)
           memory         4GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns)
           memory         4GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns)
           memory         4GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns)
           bridge         Xeon E3-1200 v3 Processor DRAM Controller
           display        Xeon E3-1200 v3 Processor Integrated Graphics Controller
           bus              8 Series/C220 Series Chipset Family USB xHCI

uname -a
Linux dev-kepler 6.1.0-7-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.20-1 (2023-03-19) x86_64 GNU/Linux

cardano-cli --version
cardano-cli 8.0.0 - linux-x86_64 - ghc-8.10
git rev 69a117b7be3db0f4ce6d9fc5cd4c16a2a409dcb8

cardano-node --version
cardano-node 8.0.0 - linux-x86_64 - ghc-8.10
git rev 69a117b7be3db0f4ce6d9fc5cd4c16a2a409dcb8

Screenshots and attachments
image

image

Additional context
The problem started around the Alonzo hard fork and lead to closing the node down for a while.

@outermeasure outermeasure added the type: bug Something is not working label Jun 16, 2023
@outermeasure
Copy link
Author

It looks like it's still synching... I will close if this is not an issue after it finishes.

image

@rdlrt
Copy link

rdlrt commented Jun 16, 2023

Expected behavior
Lower CPU (right now it looks like it uses 2 full cores), it should use around 33% of what it does today to be viable on lower end setup.
Lower RAM usage, can it be done in under 8GB?
Lower Disk usage.

Check release notes

image

@outermeasure
Copy link
Author

Re: Expected behavior. I understand. Are there other alternatives? For example: Node being built with Rust?

@seriru
Copy link

seriru commented Jun 17, 2023

The Minimum System Requirements are for production level deployments. You can change quite a lot of how memory is allocated by changing the RTS parameters, and that way reduce the RAM usage. For example by setting the allocation area size used by the GC, enable compacting collection, and disable the delayed OS memory return.

It's not something that is recommended for production level deployments (you will miss slots), but for syncing the chain it's perfectly fine.

Take a look at https://downloads.haskell.org/ghc/latest/docs/users_guide/runtime_control.html for more information.

@rdlrt
Copy link

rdlrt commented Jun 18, 2023

Use preprod/preview for if it is not production, takes much less resources 🙂

@github-actions
Copy link

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 120 days.

@github-actions github-actions bot added the Stale label Jul 18, 2023
@ch1bo
Copy link
Contributor

ch1bo commented Jan 31, 2024

Being able to set RTS options through the docker image would actually be great! This could allow configuration onto lower/higher tier hardware.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something is not working
Projects
None yet
Development

No branches or pull requests

4 participants