Restrict mongodb memory usage
Currently, mongodb has no limits on how much memory it can consume. This enforces restriction so mongodb service limits through systemd. The puppet-systemd module has support for limits. The MemoryLimit support is added in the follwoing pull request https://github.com/camptocamp/puppet-systemd/pull/23 Closes-bug: #1656558 Change-Id: Ie9391aa39532507c5de8dd668a70d5b66e17c891
This commit is contained in:
parent
e292871741
commit
3aa86a4ea3
|
@ -30,10 +30,15 @@
|
|||
# for more details.
|
||||
# Defaults to hiera('step')
|
||||
#
|
||||
# [*memory_limit*]
|
||||
# (Optional) Limit amount of memory mongodb can use
|
||||
# Defaults to 20G
|
||||
#
|
||||
class tripleo::profile::base::database::mongodb (
|
||||
$mongodb_replset,
|
||||
$bootstrap_node = downcase(hiera('bootstrap_nodeid')),
|
||||
$step = hiera('step'),
|
||||
$memory_limit = '20G',
|
||||
) {
|
||||
if $step >= 2 {
|
||||
|
||||
|
@ -56,5 +61,11 @@ class tripleo::profile::base::database::mongodb (
|
|||
}
|
||||
}
|
||||
|
||||
# Limit memory utilization
|
||||
::systemd::service_limits { 'mongod.service':
|
||||
limits => {
|
||||
'MemoryLimit' => $memory_limit
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
fixes:
|
||||
- Add a way for mongodb to limit amount of memory it comsumes
|
||||
with systemd. A new param memory_limit has been added to
|
||||
tripleo::profile::base::database::mongodb class with
|
||||
default limit of 20G.
|
Loading…
Reference in New Issue