我正在编写一个在Linux shell后台运行的C程序,如果总内存消耗超过总内存的85%,那么它将打印出警告。检查是否创建了新进程的最佳方法是什么(我想在每次创建进程时检查内存的值)?
答案 0 :(得分:0)
确定何时创建(和退出)流程的最有效方法是use the proc connector。使用起来有点复杂,但会在事件发生时立即通知您的流程。
但是,请记住,进程的内存使用量在运行时可能会发生显着变化。对创建的流程进行监控几乎肯定不足以满足您的需求;您需要定期轮询内存使用情况。 (没有通用的方法来获取系统内存使用的通知,没有在带有内存控制器的cgroup中运行进程并注册OOM处理程序。你不想这样做。)