Updated clean.sh to remove Glance's Apache uWSGI config files in APACHE_CONF_DIR, including /etc/apache2/sites-enabled/ on Ubuntu. Test Plan: - Run clean.sh. - Confirm Glance uWSGI configs are removed from APACHE_CONF_DIR. Closes-Bug: #2057999 Change-Id: I44475b8e084c4b20d7b7cb7f28574f797dbda7a2
		
			
				
	
	
		
			99 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
# Kernel Samepage Merging (KSM)
 | 
						|
# -----------------------------
 | 
						|
 | 
						|
# Processes that mark their memory as mergeable can share identical memory
 | 
						|
# pages if KSM is enabled. This is particularly useful for nova + libvirt
 | 
						|
# backends but any other setup that marks its memory as mergeable can take
 | 
						|
# advantage. The drawback is there is higher cpu load; however, we tend to
 | 
						|
# be memory bound not cpu bound so enable KSM by default but allow people
 | 
						|
# to opt out if the CPU time is more important to them.
 | 
						|
ENABLE_KSM=$(trueorfalse True ENABLE_KSM)
 | 
						|
ENABLE_KSMTUNED=$(trueorfalse True ENABLE_KSMTUNED)
 | 
						|
function configure_ksm {
 | 
						|
    if [[ $ENABLE_KSMTUNED == "True" ]] ; then
 | 
						|
        install_package "ksmtuned"
 | 
						|
    fi
 | 
						|
    if [[ -f /sys/kernel/mm/ksm/run ]] ; then
 | 
						|
        echo $(bool_to_int ENABLE_KSM) | sudo tee /sys/kernel/mm/ksm/run
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
# Compressed swap (ZSWAP)
 | 
						|
#------------------------
 | 
						|
 | 
						|
# as noted in the kernel docs https://docs.kernel.org/admin-guide/mm/zswap.html
 | 
						|
# Zswap is a lightweight compressed cache for swap pages.
 | 
						|
# It takes pages that are in the process of being swapped out and attempts
 | 
						|
# to compress them into a dynamically allocated RAM-based memory pool.
 | 
						|
# zswap basically trades CPU cycles for potentially reduced swap I/O.
 | 
						|
# This trade-off can also result in a significant performance improvement
 | 
						|
# if reads from the compressed cache are faster than reads from a swap device.
 | 
						|
 | 
						|
ENABLE_ZSWAP=$(trueorfalse False ENABLE_ZSWAP)
 | 
						|
# lz4 is very fast although it does not have the best compression
 | 
						|
# zstd has much better compression but more latency
 | 
						|
ZSWAP_COMPRESSOR=${ZSWAP_COMPRESSOR:="lz4"}
 | 
						|
ZSWAP_ZPOOL=${ZSWAP_ZPOOL:="z3fold"}
 | 
						|
function configure_zswap {
 | 
						|
    if [[ $ENABLE_ZSWAP == "True" ]] ; then
 | 
						|
        # Centos 9 stream seems to only support enabling but not run time
 | 
						|
        # tuning so dont try to choose better default on centos
 | 
						|
        if is_ubuntu; then
 | 
						|
            echo ${ZSWAP_COMPRESSOR} | sudo tee /sys/module/zswap/parameters/compressor
 | 
						|
            echo ${ZSWAP_ZPOOL} | sudo tee /sys/module/zswap/parameters/zpool
 | 
						|
        fi
 | 
						|
        echo 1 | sudo tee /sys/module/zswap/parameters/enabled
 | 
						|
        # print curent zswap kernel config
 | 
						|
        sudo grep -R . /sys/module/zswap/parameters || /bin/true
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
ENABLE_SYSCTL_MEM_TUNING=$(trueorfalse False ENABLE_SYSCTL_MEM_TUNING)
 | 
						|
function configure_sysctl_mem_parmaters {
 | 
						|
    if [[ $ENABLE_SYSCTL_MEM_TUNING == "True" ]] ; then
 | 
						|
        # defer write when memory is available
 | 
						|
        sudo sysctl -w vm.dirty_ratio=60
 | 
						|
        sudo sysctl -w vm.dirty_background_ratio=10
 | 
						|
        sudo sysctl -w vm.vfs_cache_pressure=50
 | 
						|
        # assume swap is compressed so on new kernels
 | 
						|
        # give it equal priority as page cache which is
 | 
						|
        # uncompressed. on kernels < 5.8 the max is 100
 | 
						|
        # not 200 so it will strongly prefer swapping.
 | 
						|
        sudo sysctl -w vm.swappiness=100
 | 
						|
        sudo grep -R . /proc/sys/vm/  || /bin/true
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function configure_host_mem {
 | 
						|
    configure_zswap
 | 
						|
    configure_ksm
 | 
						|
    configure_sysctl_mem_parmaters
 | 
						|
}
 | 
						|
 | 
						|
ENABLE_SYSCTL_NET_TUNING=$(trueorfalse False ENABLE_SYSCTL_NET_TUNING)
 | 
						|
function configure_sysctl_net_parmaters {
 | 
						|
    if [[ $ENABLE_SYSCTL_NET_TUNING == "True" ]] ; then
 | 
						|
        # detect dead TCP connections after 120 seconds
 | 
						|
        sudo sysctl -w net.ipv4.tcp_keepalive_time=60
 | 
						|
        sudo sysctl -w net.ipv4.tcp_keepalive_intvl=10
 | 
						|
        sudo sysctl -w net.ipv4.tcp_keepalive_probes=6
 | 
						|
        # reudce network latency for new connections
 | 
						|
        sudo sysctl -w net.ipv4.tcp_fastopen=3
 | 
						|
        # print tcp options
 | 
						|
        sudo grep -R . /proc/sys/net/ipv4/tcp* || /bin/true
 | 
						|
        # disable qos by default
 | 
						|
        sudo sysctl -w net.core.default_qdisc=pfifo_fast
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
function configure_host_net {
 | 
						|
    configure_sysctl_net_parmaters
 | 
						|
}
 | 
						|
 | 
						|
function tune_host {
 | 
						|
    configure_host_mem
 | 
						|
    configure_host_net
 | 
						|
}
 |