#!/bin/bash # # Dieses Skript zeigt, wieviel Arbeitsspeicher # von welchem (laufenden) DBMS verwendet wird. # ### damit "sort -n" das Dezimaltrennzeichen richtig deutet LANG=C ### PIDs der MySQL-Instanzen finden PIDS="$(pidof mysqld)" ### Schleife über jede PID einzeln for EINE_PID in ${PIDS} do ### zur PID zugehörige MySQL-Konfigurationsdatei finden for CNF in $(ps ax | fgrep -v 'grep ' | fgrep -v 'awk ' | egrep "^[ \t]*${EINE_PID} " | tr -s ' ' '\n' | egrep '[-][-]defaults-file=') do ### aus der Konfiguration die IP+Port holen ADRESSE_PORT="$(my_print_defaults ${CNF} mysqld | egrep '[-][-]port=|[-][-]bind-address=' | sort | awk -F'=' '{print $2}' | tr -s '\n' ' ' | awk '{print $1":"$2}')" #echo "${ADRESSE_PORT}" ### Speicherbelegung der PID errechnen SPEICHER="$(pmap ${EINE_PID} | fgrep ' [ ' | awk '{print $2}' | sed 's/K/*1024/;s/M/*1024*1024/;s/G/*1024*1024*1024/' | bc -l | awk '{z=$1;s+=z}END{print s/1024/1024/1024,"GB"}')" echo "${SPEICHER} - ${ADRESSE_PORT}" done done | sort -n