[SERVER-42697] Expose tcmalloc_release_rate via setParameter Created: 08/Aug/19  Updated: 29/Oct/23  Resolved: 09/Dec/19

Status: Closed
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: 4.2.3, 4.3.3, 3.6.18, 4.0.18

Type: New Feature Priority: Major - P3
Reporter: Henrik Ingo (Inactive) Assignee: Henrik Ingo (Inactive)
Resolution: Fixed Votes: 1
Labels: neweng
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
depends on SERVER-46898 The tcmallocReleaseRate parameter doe... Closed
Documented
is documented by DOCS-13271 Investigate changes in SERVER-42697: ... Closed
Problem/Incident
Related
related to SERVER-16829 Expose tcmalloc runtime configuration... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.2, v4.0, v3.6
Sprint: Performance 2019-12-02, Performance 2019-12-16
Participants:

 Description   

SERVER-16829 exposed tcmalloc_aggressive_decommit via the setParameter framework. This has turned out to be not very useful, as aggressive decommit comes with a huge performance penalty. (-75% in a small YCSB workload.)

We recently found that tcmalloc_release_rate can be used to reduce memory overhead, with little or no performance overhead. We should add a setParameter knob to do this at runtime too.

Relevant tcmalloc documentation

Example:

db.adminCommand({setParameter: 1, tcmallocReleaseRate: 10})



 Comments   
Comment by Eric Milkie [ 16/Mar/20 ]

Note, the backports to version 3.6 and 4.0 had a bug that made the parameter inaccessible. See SERVER-46898 for the work to fix this.

Comment by Githook User [ 12/Dec/19 ]

Author:

{'name': 'Henrik Ingo', 'email': 'henrik.ingo@mongodb.com', 'username': 'henrikingo'}

Message: SERVER-42697 Add setParameter tcmallocReleaseRate

(Cherry picked from commit 97a3e24c6bb07ae3a108c0eeb1d00ba36332b7d6)
Branch: v3.6
https://github.com/mongodb/mongo/commit/34e32dfd5562e00d416ca7a49e6a45d1e9fa2239

Comment by Githook User [ 12/Dec/19 ]

Author:

{'name': 'Henrik Ingo', 'email': 'henrik.ingo@mongodb.com', 'username': 'henrikingo'}

Message: SERVER-42697 Add setParameter tcmallocReleaseRate

Backport:

  • Use TcmallocReleaseRateServerParameter class in lieu of IDL

(cherry picked from commit 0bb1dad9f205ccb2f4f4abffa7f3afc5baa36adf)
Branch: v4.0
https://github.com/mongodb/mongo/commit/97a3e24c6bb07ae3a108c0eeb1d00ba36332b7d6

Comment by Githook User [ 11/Dec/19 ]

Author:

{'name': 'Henrik Ingo', 'email': 'henrik.ingo@mongodb.com', 'username': 'henrikingo'}

Message: SERVER-42697 Add setParameter tcmallocReleaseRate

Backport:

Comment by Henrik Ingo (Inactive) [ 09/Dec/19 ]

Example:

db.adminCommand({setParameter: 1, tcmallocReleaseRate: 10})

Comment by Githook User [ 05/Dec/19 ]

Author:

{'email': 'henrik.ingo@mongodb.com', 'name': 'Henrik Ingo', 'username': 'henrikingo'}

Message: SERVER-42697 Add setParameter tcmallocReleaseRate
Branch: master
https://github.com/mongodb/mongo/commit/d241f076b1b38bb0e38b43ddd592b3f2a51adea2

Comment by Daniel Pasette (Inactive) [ 29/Aug/19 ]

can this be backported to releases which have this parameter in the vendored tcmalloc?

Generated at Thu Feb 08 05:01:11 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.