是否有一个日志文件logging在/etc/security/limits.conf中设置的值超过时的信息?
如果上述文件中的值太紧,则使用托pipe在服务器上的网站的客户端会看到错误,例如[FATAL] failed to allocate memory 。 但是我不会被吓倒。 那么是否有日志?
如果没有,是否有一种方法来logging超过值的日志?
limits.conf对于你正在做的事情来说是一个太钝的工具。
cgroups将设置限制并为您提供会计,但是文档有一点点钝。 https://www.kernel.org/doc/Documentation/cgroups/memory.txt
是否有一个日志文件logging在/etc/security/limits.conf中设置的值超过时的信息?
不。
所有这些值最后都是为了处理资源限制( man setrlimit ),当它们相遇时,没有通用的机制来发出要logging的警告。
如果你的问题是关于内存分配失败,你也可以使用这个脚本来监视剩余可用内存的百分比
#!/bin/bash # you can adjust 0.20 meaning 20% to percentage of memory free you want output=$(free | grep "Swap" | awk '{if (($4/$2) < 0.20) print "memory low"}') if [[ "$output" != "" ]]; then echo "..." | mail -s "Memory low on <host>" <monitoring email> fi
保存到脚本文件(例如memmon.sh)并添加到crontab它会发送电子邮件和写入日志文件时检测空闲内存低为条件)
# Ex. monitor every 3 min. */3 * * * * /home/user/memmon.sh >> /home/user/memmon.log