В Linux (Не знаю, работает ли это и в Solaris):
#!/bin/bash
if [[ $EUID > 0 ]]; then # we can compare directly with this syntax.
echo "Please run as root/sudo!"
exit 1
fi
BS=100M
MNT=/mnt/tmp
FILE=${MNT}/mem-hog
FS_SIZE=8G
LOG=${0}.log-$(date '+%Y%m%dT%H%M%S')
SLEEP=5s
function onExit {
test "mountpoint -q ${MNT}" && umount ${MNT}
echo "Bye!" | ts | tee -a ${LOG}
}
trap onExit EXIT
mount -t tmpfs -o size=${FS_SIZE} none ${MNT} || exit $?
[ -f ${FILE} ] && (rm ${FILE} || exit $?)
COUNT=0
while [ true ]; do
COUNT=$((COUNT + 1))
echo -e "\n>> Allocation step #${COUNT} <<\n" | ts | tee -a ${LOG}
dd if=/dev/zero bs=${BS} count=1 2> /dev/nul 1>> ${FILE} || exit $?
echo "" | ts | tee -a ${LOG}
free -m | ts | tee -a ${LOG}
echo "" | ts | tee -a ${LOG}
df -h ${MNT} | ts | tee -a ${LOG}
sleep ${SLEEP}
done
Спасибо LinuxSecurityFreak за некоторые подсказки.
Я никогда (преднамеренно )не обновлялmdadm.conf
(справочную страницу); Я не знал, что это было там. Добавление отсутствующего ARRAY
действительно помогло.
Кроме того, я не (преднамеренно )не запускалupdate-initramfs
(справочную страницу).
Благодаря этим двум шагам моя станция успешно загрузилась дважды подряд, так что это здорово.
Пожалуйста, просмотрите мои оставшиеся проблемы в конце моего вопроса.