SharedTmpfsMaintainance: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 72: | Строка 72: | ||
rm -rf $TMP/src-rpm-unpacked.???????? | rm -rf $TMP/src-rpm-unpacked.???????? | ||
</source> | </source> | ||
=== Добавляйте вызов CLEANUP в конце тяжелых вызовов === | |||
К примеру, запустить на ночь тяжелую сборку на 16 hasher'ов | |||
$ HUGE_BUILD -j 16 | |||
и уйти спать неправильно, так как тяжелая сборка завершится за 2 часа, | |||
а использованные папки hasher? будут захламлять tmpfs от полусуток. | |||
Правильно запускать так: | |||
$ HUGE_BUILD -j 16; CLEANUP | |||
чтобы память была освобождена сразу же, как сборка завершится. |
Версия от 13:37, 14 декабря 2016
Советы, как не захламлять tmpfs общего пользования
Собирайте в tmpfs; храните результаты сборки на диске.
к примеру, пусть вы используете по умолчанию $TMP/hasher.
$ cat .hasher/config workdir=$TMP/hasher
сделайте ~/hasher постоянным хранилищем для $TMP/hasher. Для этого впишите в ~/.bashrc, ~/.zshrc
mkdir -p $TMP/hasher; ln -sf ~/hasher/repo $TMP/hasher
теперь сборка будет происходить в $TMP/hasher. а ее результат будет сохраняться в ~/hasher/repo.
Проверяйте размер $TMP по завершении работы с удаленной машиной
Чтобы не проверять руками, впишите проверки в скрипты
~/.zlogout
clear
tmpusage=`du -sh $TMP 2>/dev/null | awk '{print $1}'`
if [ "$tmpusage" != 0 ]; then
ls $TMP
echo tmp usage on `hostname`:
du -sh $TMP
fi
setopt norcs
~/.bash_logout
# ~/.bash_logout
clear
tmpusage=`du -sh $TMP 2>/dev/null | awk '{print $1}'`
if [ "$tmpusage" != 0 ]; then
ls $TMP
echo tmp usage on `hostname`:
du -sh $TMP
fi
Создайте единый скрипт очистки
Например, скрипт ~/bin/CLEANUP
#!/bin/sh
for hasherdir in $TMP/hasher*; do
if [ -d "$hasherdir" ]; then
set -x
[ -d "$hasherdir/chroot" ] && hsh-rmchroot $hasherdir
set +x
rm -rf "$hasherdir"
fi
done
done
# Собирайте в tmpfs; храните результаты сборки на диске.
mkdir -p $TMP/hasher
ln -s ~/hasher/repo $TMP/hasher/
if [ -d ~/LP ]; then
rm -rf ~/LP/noarch
rm -rf ~/LP/x86_64
fi
rm -rf $TMP/rpm-tmp.?????
rm -rf $TMP/src-rpm-unpacked.????????
Добавляйте вызов CLEANUP в конце тяжелых вызовов
К примеру, запустить на ночь тяжелую сборку на 16 hasher'ов
$ HUGE_BUILD -j 16
и уйти спать неправильно, так как тяжелая сборка завершится за 2 часа, а использованные папки hasher? будут захламлять tmpfs от полусуток. Правильно запускать так:
$ HUGE_BUILD -j 16; CLEANUP
чтобы память была освобождена сразу же, как сборка завершится.