Re: osd_memory_target for low-memory machines

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx

_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux