Я придумал небольшой скрипт для отправки электронной почты, когда объем памяти падает ниже 300 МБ, но в то же время мне интересно получить дескрипторы открытых или активных файлов, которые соответственно занимают больше памяти, и записать их в существующий файл - /tmp / memory.txt
Я не совсем уверен, как разместить запрос в моем существующем скрипте.Любой вклад будет очень полезным.
subject="Check Memory Status"
to="myemail@domain.com"
ip=`ifconfig | grep -oP '(?<=inet addr:)\d+\.\d+\.\d+\d+'`
free=$(free -mt | grep Total | awk '{print $4}')
if [[ "$free" -le 300 ]]; then
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head >/tmp/memory.txt
file=/tmp/memory.txt
echo -e "Warning, Memory is running low! on $ip\n Free memory: $free MB" | mailx -a "$file" -s "$subject" "$to"
fi
exit 0