вторник, 1 февраля 2011 г.

Скрипты снятия статистики об использовании памяти

    Несколько вариантов получения статистики об использовании памяти. Как извесно, память в Linux разбита на две части: физическая(ОЗУ)и файл подкачки (swap). С точки зрения системы особой разницы между этими памятями нет, поэтому в некоторых скриптах под всей памятью понимается ОЗУ+swap.
    Вариант получения информации об использовании ОЗУ без привлечения SNMP. В качестве источника информации используется утилита /usr/bin/free
# nano -w /etc/mrtg/memstat.sh
#!/bin/sh
/usr/bin/free -b | /bin/awk '\
NR==2 {ramUsed = $3 }\
NR==4 {swapUsed = $3 }\
END { print swapUsed "\n" ramUsed "\n0\n0" }'
# chmod a+x /etc/mrtg/memstat.sh
Для корректной работы весь скрипт донжен быть записн в одну строку. Информация на выходе:
- использовано swap
- Всего использовано памяти в.т.ч. buffers/cache
- 0
- 0
Для проверки рекомендуется сравнить результаты выводов /etc/mrtg/memstat.sh и /usr/bin/free -b


Другой вариан чтения информации о памяти. От вышеизложенного /etc/mrtg/memstat.sh отличается понятием "занятой памяти".
Данный скрипт отображает информацию о используемой в даннй момент физической памяти.
nano -w /etc/mrtg/mem.sh
#!/bin/sh
if [ -n "$(which free | grep -i free)" ]; then
SYSTEM=`/usr/bin/free -b | grep -i "mem" | awk '{print $2}'`
ACTIV=`/usr/bin/free -b | grep -i "rs/ca" | awk '{print $3}'`
else
SYSTEM="0"
ACTIV="0"
fi
echo $ACTIV
echo $SYSTEM
echo `date +%s`
chmod a+x /etc/mrtg/mem.sh
Отображение информации происходит в виде:
- Активно используемая память
- Всего памяти доступно физически
- Штамп времени

Комментариев нет:

Отправить комментарий