Skip to content
New issue

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

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

Already on GitHub? # to your account

optimize Talos core components memory usage #7532

Open
7 of 9 tasks
smira opened this issue Jul 26, 2023 · 5 comments
Open
7 of 9 tasks

optimize Talos core components memory usage #7532

smira opened this issue Jul 26, 2023 · 5 comments
Assignees
Labels
Milestone

Comments

@smira
Copy link
Member

smira commented Jul 26, 2023

From a worker node:

image

apid is 80MiB, dashboard is 94MiB and init is 128 MiB

COSI Improvements

  1. smira
  2. smira

3rd party libraries

  1. mosajjal
  2. mosajjal

Talos Improvements

  1. smira
@smira
Copy link
Member Author

smira commented Jul 31, 2023

There was some work done recently to optimize memory usage, but there's still some room for improvement here

@smira

This comment was marked as duplicate.

@smira smira added this to the v1.6 milestone Aug 7, 2023
@smira
Copy link
Member Author

smira commented Aug 10, 2023

Things got better with merged in fixes, but still a lot of room for improvement:

image

@smira smira added the EPIC label Sep 1, 2023
smira added a commit to smira/talos that referenced this issue Sep 11, 2023
See

* siderolabs#7532
* gopacket/gopacket#24

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
@smira
Copy link
Member Author

smira commented Oct 20, 2023

  • big text section size (code, read-only, shared between Talos processes)
  • big gopclntab section size (used for stacktraces, read-only, shared between Talos processes)
  • RSS in dashboard doesn't show the real size of the process, as it doesn't account for text/gopclntab shared across processes
  • readelf -a -W _out/machined provides an overview of section sizes and mapping into memory
  • gsv wraps bloaty to show size per module/package (code & data)
  • Go heap/stack size

@smira
Copy link
Member Author

smira commented Oct 20, 2023

dropping gopacket library from machined reduces observed RSS down ~20 MiB

@smira smira modified the milestones: v1.6, v1.7 Dec 15, 2023
@smira smira modified the milestones: v1.7, v1.8 Apr 4, 2024
@smira smira modified the milestones: v1.8, v1.9 Aug 30, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants