Hi Nicola,
I wrote the autotuning code in the OSD. Janne's response is absolutely
correct. Right now we just control the size of the caches in the OSD
and rocksdb to try to keep the OSD close to a certain memory limit. By
default this works down to around 2GB, but the smaller the limit, the
harder it is for the autotuning to control memory growth only through
adjustment of the caches. At some point in the future we may be able to
control other things like pg log lengths or in-memory buffers, but we
currently we haven't tried to do anything like this.
FWIW, you can tune OSDs to work within smaller (~1GB) memory envelopes
by tweaking various things (buffer sizes, buffer counts,
osd_memory_target, various other things). The performance hit may be
significant though and you may be more likely to suffer write stalls.
Mark
On 10/3/22 03:48, Nicola Mori wrote:
Thank you for the detailed answer. I'll buy more RAM for the machine.
Nicola
On 03/10/22 10:02, Janne Johansson wrote:
There is definitely something wrong in how my cluster manages
osd_memory_target. For example, this is the situation for OSD 16:
The memory limit seems to be correctly set (I disabled the memory
autotune on the host, set the limit manually with --force and rebooted
the host) but nevertheless the actual memory usage is far above the
limit (568M vs 384M).
The memory target (and <1G is too small by far) is only directing the
things that *can* be tuned, there are other things the OSD needs
memory for which are not optional and those will take memory even if
you set the limits to X GB. Also, while you may find some lower limit
that works in some fashion, later events such as
rebalancing,recovery,backfills and upstart-checks *will* need more
memory even if only temporarily.
What you are setting is more or less like setting the autopilot engine
level on an airplane at the cruising altitude, it does *not* control
how much engine is needed for take-off, landings or emergencies.
_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io
_______________________________________________
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io