mirror of
https://github.com/unraid/webgui.git
synced 2026-01-01 15:10:19 -06:00
29 lines
823 B
Bash
Executable File
29 lines
823 B
Bash
Executable File
#!/bin/bash
|
|
# Get active containers
|
|
ACTIVE_CONTAINERS="$(docker ps -q --no-trunc 2>/dev/null)"
|
|
|
|
# Exit if no containers are active and return zero
|
|
if [[ -z $ACTIVE_CONTAINERS ]]; then
|
|
echo "0"
|
|
exit
|
|
fi
|
|
|
|
# Get all relevant memory entries from containers
|
|
for container in ${ACTIVE_CONTAINERS} ; do
|
|
CONT_MEMORY="$(cat /sys/fs/cgroup/docker/${container}/memory.stat 2>/dev/null | grep -Ew "anon|kernel|kernel_stack|pagetables|sec_pagetables|percpu|sock|vmalloc|shmem" | awk '{print $2}')"
|
|
# Add up memory values
|
|
for value in ${CONT_MEMORY} ; do
|
|
if [[ ${value} =~ ^[0-9]+$ ]]; then
|
|
((MEMORY_USAGE += value))
|
|
fi
|
|
done
|
|
unset CONT_MEMORY
|
|
done
|
|
|
|
# Check if value is a integer and return the value otherwiese return zero
|
|
if [[ ${MEMORY_USAGE} =~ ^[0-9]+$ ]]; then
|
|
echo "${MEMORY_USAGE}"
|
|
else
|
|
echo "0"
|
|
fi
|