Получить использование памяти вместе с файловыми дескрипторами - PullRequest
0 голосов
/ 30 мая 2018

Я придумал небольшой скрипт для отправки электронной почты, когда объем памяти падает ниже 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

1 Ответ

0 голосов
/ 30 мая 2018

Насколько я понимаю, ваш скрипт проверяет наличие «доступной» памяти.Помните, что «buff / cache» также является свободной памятью.

Интересное чтение: https://www.linuxatemyram.com

Вы можете найти список открытых файлов, используя lsof или fopen или даже/proc/PID/fd, если вам нужно найти дескрипторы файлов.

...