Skip to content

Instantly share code, notes, and snippets.

@neerajnagi
Last active March 26, 2016 05:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save neerajnagi/dedaf8e7d1f789cc20f2 to your computer and use it in GitHub Desktop.
Save neerajnagi/dedaf8e7d1f789cc20f2 to your computer and use it in GitHub Desktop.
###install
```
yum install -y libcgroup
chkconfig cgconfig on
/etc/init.d/cgconfig start
cgcreate -g memory:/bigcouch
echo $(( 2500 * 1024 * 1024 )) > /cgroup/memory/bigcouch/memory.limit_in_bytes
```
###sample upstart using cgconfig
```
start on runlevel [23]
stop on shutdown
# Respawn in case of a crash, with default parameters
respawn
# set working directory
# required for erlang
env HOME="/usr/lib64/erlang/bin"
export HOME
env DIRECTORY=/opt/bigcouch/bin
env LOG_FILE=/var/log/bigcouch.log
script
# modify PATH to hit local couchdb's working directory first
cd $DIRECTORY
touch $LOG_FILE
# recommended approach in case of su/sudo usage so that service does not fork
exec /bin/bash -c "cgexec -g memory:bigcouch ./bigcouch >> $LOG_FILE 2>&1"
end script
post-start script
end script
```
@neerajnagi
Copy link
Author

results

bigcouch is restricted at 2.5g as shown in upstart script, and its killed nicely as shown below

[root@cassandra-beta-2 ~]# top | grep beam
 9188 root      20   0 2160m 1.2g 4764 S 101.0 15.5   0:42.66 beam.smp
 9188 root      20   0 2160m 1.2g 4764 S 102.0 15.5   0:45.73 beam.smp
 9188 root      20   0 2160m 1.2g 4764 S 100.4 15.5   0:48.75 beam.smp
 9188 root      20   0 2160m 1.2g 4764 S 100.4 15.5   0:51.77 beam.smp
 9188 root      20   0 2159m 1.2g 4764 S 102.7 15.5   0:54.86 beam.smp
 9188 root      20   0 2097m 1.1g 4764 S 100.4 14.7   0:57.88 beam.smp
 9188 root      20   0 2160m 1.2g 4764 S 100.4 15.5   1:00.90 beam.smp
 9188 root      20   0 2160m 1.2g 4764 S 101.1 15.5   1:03.94 beam.smp
 9188 root      20   0 2159m 1.2g 4764 S 100.4 15.5   1:06.96 beam.smp
 9188 root      20   0 2064m 1.1g 4764 S 100.1 14.4   1:09.97 beam.smp
 9188 root      20   0 2064m 1.1g 4764 S 100.8 14.4   1:13.00 beam.smp
 9188 root      20   0 2062m 1.1g 4764 S 100.7 14.4   1:16.03 beam.smp
 9188 root      20   0 2066m 1.1g 4764 S 104.1 14.5   1:19.16 beam.smp
 9188 root      20   0 2067m 1.1g 4764 S 100.1 14.5   1:22.17 beam.smp
 9188 root      20   0 2065m 1.1g 4764 S 100.4 14.5   1:25.19 beam.smp
 9188 root      20   0 2066m 1.1g 4768 S 100.4 14.5   1:28.21 beam.smp
 9188 root      20   0 2065m 1.1g 4768 S 100.1 14.5   1:31.22 beam.smp
 9188 root      20   0 1870m 957m 4768 S 110.0 12.2   1:34.53 beam.smp
 9188 root      20   0 1815m 902m 4768 S 101.7 11.5   1:37.59 beam.smp
 9188 root      20   0 2239m 1.4g 4784 S 362.6 17.7   1:48.50 beam.smp
 9188 root      20   0 2266m 1.3g 4784 S 102.1 17.0   1:51.57 beam.smp
 9188 root      20   0 2266m 1.4g 4784 S 101.1 17.7   1:54.61 beam.smp
 9188 root      20   0 2266m 1.4g 4784 S 101.1 17.7   1:57.65 beam.smp
 9188 root      20   0 2266m 1.4g 4784 S 101.4 17.7   2:00.70 beam.smp
 9188 root      20   0 2473m 1.4g 4784 S 100.1 17.6   2:03.71 beam.smp
 9188 root      20   0 2240m 1.0g 4784 S 131.7 13.3   2:07.67 beam.smp
 9188 root      20   0 2229m 1.0g 4784 S 102.0 13.1   2:10.74 beam.smp
 9188 root      20   0 2228m 1.0g 4784 S 100.4 13.1   2:13.76 beam.smp
 9188 root      20   0 2218m 1.0g 4784 S 100.4 13.1   2:16.78 beam.smp
 9188 root      20   0 2218m 1.0g 4784 S 100.4 13.1   2:19.80 beam.smp
 9188 root      20   0 2221m 942m 4784 S 103.4 12.0   2:22.91 beam.smp
 9188 root      20   0 2220m 1.0g 4784 S 100.4 13.1   2:25.93 beam.smp
 9188 root      20   0 2219m 1.0g 4784 S 100.7 13.1   2:28.96 beam.smp
 9188 root      20   0 2219m 1.0g 4784 S 100.1 13.1   2:31.97 beam.smp
 9188 root      20   0 2218m 1.0g 4784 S 101.7 13.1   2:35.03 beam.smp
 9188 root      20   0 2218m 1.0g 4784 S 94.4 13.1   2:37.87 beam.smp
 9188 root      20   0 2220m 1.0g 4784 S 101.4 13.1   2:40.92 beam.smp
 9188 root      20   0 2220m 992m 4784 S 100.1 12.6   2:43.93 beam.smp
 9188 root      20   0 2204m 919m 4784 S 111.7 11.7   2:47.29 beam.smp
 9188 root      20   0 2955m 1.4g 4784 S 705.0 18.8   3:08.49 beam.smp
 9188 root      20   0 3274m 1.8g 4784 S 559.0 23.5   3:25.30 beam.smp
 9188 root      20   0 3250m 2.0g 4784 S 399.4 25.6   3:37.31 beam.smp
 9188 root      20   0 3310m 1.9g 4784 S 424.7 25.1   3:50.08 beam.smp
 9188 root      20   0 3892m 2.3g 4784 S 419.6 29.9   4:02.70 beam.smp
 9188 root      20   0 3791m 2.3g 4784 S 130.3 30.2   4:06.62 beam.smp
 9188 root      20   0 3904m 2.4g 4784 S 194.2 31.8   4:12.46 beam.smp
 9494 root      20   0  590m  20m 4648 S 12.6  0.3   0:00.38 beam.smp
 9494 root      20   0  614m  35m 4680 S 21.6  0.5   0:01.03 beam.smp
 9494 root      20   0  613m  35m 4680 S  1.0  0.4   0:01.06 beam.smp
 9494 root      20   0  599m  28m 4696 S  1.3  0.4   0:01.10 beam.smp
 9494 root      20   0  598m  28m 4696 S  0.3  0.4   0:01.11 beam.smp
 9494 root      20   0  599m  28m 4696 S  1.3  0.4   0:01.15 beam.smp
 9494 root      20   0  670m  34m 4760 S 10.0  0.4   0:01.45 beam.smp
 9494 root      20   0  666m  31m 4760 S  0.7  0.4   0:01.47 beam.smp
 9494 root      20   0  666m  31m 4760 S  0.7  0.4   0:01.49 beam.smp
 9494 root      20   0  666m  31m 4760 S  1.0  0.4   0:01.52 beam.smp
 9494 root      20   0  666m  31m 4760 S  0.7  0.4   0:01.54 beam.smp
 9494 root      20   0  667m  31m 4760 S  0.7  0.4   0:01.56 beam.smp
 9494 root      20   0  667m  31m 4760 S  0.7  0.4   0:01.58 beam.smp
 9494 root      20   0  666m  31m 4760 S  1.0  0.4   0:01.61 beam.smp
 9494 root      20   0  665m  30m 4760 S  0.7  0.4   0:01.63 beam.smp
 9494 root      20   0  665m  30m 4760 S  0.7  0.4   0:01.65 beam.smp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment