mirror of
https://github.com/samba-team/samba.git
synced 2025-01-25 06:04:04 +03:00
b80967f5dc
CTDB's system memory monitoring in 05.system.script monitors both main memory and swap. The swap monitoring was originally based on the (possibly incorrect, see below) idea that swap space stacks on top of main memory, so that when a system starts filling swap space then this is supposed to be a good sign that the system is running out of memory. Additionally, performance on a Linux system tends to be destroyed by the I/O associated with a lot of swapping to spinning disks. However, some platforms default to creating only 4GB of swap space even when there is 128GB of main memory. With such a small swap to main memory ratio, memory pressure can force swap to be nearly full even when a significant amount of main memory is still available and the system is performing well. This suggests that checking swap utilisation might be less than useful in many circumstances. So, remove the separate swap space checking and change the memory check to cover the total of main memory and swap space. Test function set_mem_usage() still takes an argument for each of main memory and swap space utilisation. For simplicity, the same number is now passed twice to make the intended results comprehensible. This could be changed later. A couple of tests are cleaned up to no longer use hard-coded /proc/meminfo and ps output. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
eventscript unit tests ====================== This directory contains some eventscript unit tests for CTDB. These tests can be run as a non-privileged user. There are a lot of stub implementations of commands (located in stubs/) used to make the eventscripts think they're running against a real system. Test case filenames look like: <eventscript>.<event>.NNN.sh The test helper functions will run <eventscript> with specified options. If using the simple_test() helper function then the 1st <event> argument is automatically passed. When simple_test_event() is used the event name must be explicitly passed as the 1st argument - this is more flexible and supports multiple events per test. Examples: * ../run_tests.sh . Run all tests, displaying minimal output. * ../run_tests.sh -s . Run all tests, displaying minimal output and a summary. * ../run_tests.sh -s ./10.interface.*.sh Run all the tests against the 10.interface eventscript. * ../run_tests.sh -v -s . Run all tests, displaying extra output and a summary. * ../run_tests.sh -sq . Run all tests, displaying only a summary. * ../run_tests.sh -X ./10.interface.startup.002.sh Run a test and have the eventscript itself run with "sh -x". This will usually make a test fail because the (undesirable) trace output will be included with the output of the eventscript. However, this is useful for finding out why a test might be failing.