Использование памяти на пользователя в кластере SGE
Я хотел бы автоматизировать оценку ежемесячного использования памяти всеми заданиями, выполняемыми данным пользователем в моем кластере (SGE, ubuntu). Я видел, что есть много инструментов для вычисления текущего использования памяти для конкретного пользователя, но я хочу вычислить использование ЦП представленных заданий. Это возможно? Есть ли какой-нибудь инструмент для просмотра истории отправленных работ и поиска памяти, которую они использовали?
Спасибо
2 ответа
Я только что понял, что вы можете проверить, сколько памяти использует пользователь
qacct -j -o <username>
Следующий скрипт вычисляет время ЦП (в часах) на пользователя (для всех пользователей в /etc/passwd
файл) за последний месяц:
#!/bin/sh
bmonth=$(/bin/date +%m)
bmonth=$(($bmonth - 1))
year=$(/bin/date +%y)
if [ $bmonth -eq 0 ];then
bmonth=12
year=$((year-1))
fi
if [ $bmonth -lt 10 ];then
bmonth=0$bmonth
fi
emonth=$(/bin/date +%m)
hour=00
minute=00
day=$(/bin/date +%d)
begin=$year$bmonth$day$hour$minute
end=$year$emonth$day$hour$minute
for user in $(/usr/bin/cut -d':' -f1 /etc/passwd); do
/usr/bin/qacct -j -o $user -b $begin -e $end | /bin/grep cpu | /usr/bin/awk '{sum += $2} END {sum = sum/3600; print "'$user'", sum}' OFS='\t';
done