glusterfs/extras
Mohit Agrawal 2c066c4c36 extras: scripts to control CPU/MEMORY for any gluster daemon during runtime
Problem: Sometime gluster daemons like glustershd can consume a lot of cpu and/
or memory if there is a large amount of data/ entries to be healed.

Solution: Until we have some form of throttling/ QoS mechanisms built into
gluster, we can use control groups for regulating cpu and memory of any gluster
daemon using control-cpu-load.sh and control-mem.sh scripts respectively.

Test:    To test the control-cpu-load.sh script follow below procedure:
         1) Setup distribute replica environment
         2) Selfheal daemon off
         3) Down one node from replica nodes
         4) Create millions of files from mount point
         5) Start down node
         6) Check cpu usage for shd process in top command
         7) Run script after provide shd pid with CPU quota value
         8) Check again cpu usage for shd process in top command

Note: control-mem.sh script can cap the memory usage of the process to the set
limit, beyond which the process gets blocked. It resumes either when the memory
usage comes down or if the limit is increased.

BUG: 1496335
Change-Id: Id73c36b73ca600fa9f7905d84053d1e8633c996f
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
2017-11-13 11:07:06 +00:00
..
benchmarking Respect autotools docdir variable 2013-02-07 16:38:06 -08:00
cliutils eventsapi: JSON output and different error codes 2016-12-02 00:20:39 -08:00
command-completion bash-completion: Swap order of characters in egrep bracket expression 2015-09-08 07:49:30 -07:00
create_new_xlator extras: Change Makefile generation in generate_xlator.py 2017-07-18 16:44:27 +00:00
devel-tools extras/devel-tools: script to resolve bt addresses 2017-03-07 22:52:16 -05:00
firewalld eventsapi: Add support for Client side Events 2016-08-30 18:34:59 -07:00
FreeBSD Man page updates 2010-09-07 07:45:58 -07:00
geo-rep geo-rep/scheduler: Add validation for session existence 2017-10-06 05:42:08 -04:00
hook-scripts extras/hooks: Honour all input arguments to scripts 2017-10-31 12:24:05 +00:00
init.d build: fixes to build 3.9.0rc2 on Debian 2017-02-26 14:13:32 -05:00
LinuxRPM build: conditionally build legacy gNFS server and associated sub-packaging 2017-04-28 14:08:41 +00:00
ocf glusterd: Gluster should keep PID file in correct location 2017-08-11 07:36:41 +00:00
profiler All: License message change 2012-09-13 13:19:37 -07:00
quota Scripts to identify quota accouting issues 2017-06-30 08:39:05 +00:00
snap_scheduler snapshot/scheduler: handle the exception when SELinux is absent 2017-10-31 07:54:26 +00:00
Solaris Change Copyright current year 2011-08-10 10:57:19 -07:00
systemd systemd/glusterfssharedstorage : remove dependency for var-run-gluster-shared_storage 2017-07-17 11:41:00 +00:00
test storage/posix: Adding implementation for posix_do_futimes 2017-10-05 12:57:35 +00:00
Ubuntu Updating extras/Ubuntu with latest upstart configs (BUG: 1047007) 2013-12-29 23:03:52 -08:00
who-wrote-glusterfs contributors: map more email addresses and domain names 2017-02-20 17:10:58 -05:00
backend-cleanup.sh scripts: correct the usage of -perm in backend-cleanup.sh 2016-01-14 03:40:58 -08:00
backend-xattr-sanitize.sh backend-xattr-sanitize.sh: script added to extras/ 2009-05-07 15:12:09 +05:30
check_goto.pl gluster: Fix the recursive goto outs in the source code. 2014-07-21 10:26:20 -07:00
clang-checker.sh clang-analyzer: adding clang static analysis support 2016-06-07 06:56:09 -07:00
clear_xattrs.sh extras: add check for brick path existence 2012-01-05 09:18:11 -08:00
control-cpu-load.sh extras: scripts to control CPU/MEMORY for any gluster daemon during runtime 2017-11-13 11:07:06 +00:00
control-mem.sh extras: scripts to control CPU/MEMORY for any gluster daemon during runtime 2017-11-13 11:07:06 +00:00
disk_usage_sync.sh extras: Add script to be used before using quota translator. 2010-03-09 00:24:57 -08:00
failed-tests.py extras: Fix failed_tests.py to have the updated regression links 2016-08-31 00:20:20 -07:00
file_size_contri.sh extras: Add quota-related debugging scripts. 2011-06-19 20:41:21 -07:00
gfid-to-dirname.sh extras:add gfid-to-dirname.sh 2016-03-22 19:24:17 -07:00
git-branch-diff.py git-branch-diff: wrapper script for git to visualize backports 2016-05-18 10:11:03 -07:00
gluster-rsyslog-5.8.conf log: add comments to rsyslog gluster configuration file 2013-08-14 13:05:50 -07:00
gluster-rsyslog-7.2.conf log: add comments to rsyslog gluster configuration file 2013-08-14 13:05:50 -07:00
glusterd-sysconfig RHEL init script: ability to overwrite options from sysconfig 2012-12-12 07:36:26 -08:00
glusterd.vol.in glusterd : introduce timer in mgmt_v3_lock 2017-10-17 15:44:49 +00:00
glusterfs-georep-logrotate Stop logrotate from complaining about missing files. 2014-12-11 00:04:36 -08:00
glusterfs-logrotate debug/io-stats: Add FOP sampling feature 2015-11-01 09:14:34 -08:00
glusterfs-mode.el extras: glusterfs-mode.el has incorrect FSF address 2017-02-02 12:47:17 -05:00
glusterfs.vim All: License message change 2012-09-13 13:19:37 -07:00
gnfs-loganalyse.py All: License message change 2012-09-13 13:19:37 -07:00
group-gluster-block gluster-block: strict-o-direct should be on 2017-08-29 13:36:07 +00:00
group-metadata-cache extras: Provide group set for md-cache and invalidation options 2017-02-03 04:33:17 -05:00
group-nl-cache nl-cache: add group volume set option for ease of use 2017-06-12 03:52:16 +00:00
group-virt.example extras: Enable stat-prefetch in virt profile 2017-07-10 07:53:36 +00:00
logger.conf.example build: disable logging framework on rhel6 2013-10-18 08:30:08 -07:00
Makefile.am extras: scripts to control CPU/MEMORY for any gluster daemon during runtime 2017-11-13 11:07:06 +00:00
migrate-unify-to-distribute.sh enhancement to migrate-unify-to-distribute.sh 2009-04-18 11:42:52 +05:30
mount-shared-storage.sh systemd/glusterfssharedstorage : remove dependency for var-run-gluster-shared_storage 2017-07-17 11:41:00 +00:00
peer_add_secret_pub.in geo-rep: Fix ssh issue in geo-rep 2015-06-25 04:48:31 -07:00
post-upgrade-script-for-quota.sh NetBSD build fixes 2014-05-17 11:53:34 -07:00
pre-upgrade-script-for-quota.sh NetBSD build fixes 2014-05-17 11:53:34 -07:00
prot_filter.py features: add a directory-protection translator 2013-02-17 12:04:48 -08:00
rebalance.py extras/rebalance.py: Fix statvfs for FreeBSD in python 2017-02-07 07:51:01 -05:00
run-gluster.tmpfiles.in packaging: /var/run/gluster owner gluster:gluster(0775) for statedumps 2017-04-27 15:57:15 +00:00
specgen.scm Change Copyright current year 2011-08-10 10:57:19 -07:00
stop-all-gluster-processes.sh glusterd: Gluster should keep PID file in correct location 2017-08-11 07:36:41 +00:00
stripe-merge.c remove useless if-before-free (and free-like) functions 2012-07-13 14:03:42 -07:00
volfilter.py Add scripts for size-weighted rebalance. 2013-02-07 14:27:47 -08:00