linux – 通过使用所有RAM的神秘过程崩溃机器 – 如何识别?

linux – 通过使用所有RAM的神秘过程崩溃机器 – 如何识别?,第1张

概述我有一台 Linux机器,可以运行~10个内部编写的进程. 每隔一天(!)机器完全耗尽RAM,进入交换并变得无响应.这种情况在几秒钟内很快就会发生,所以坐下来观察机器直到它死亡是不可行的.这是一个突然的泄漏,而不是一个渐进的泄漏,所以top(1)并没有给出任何可能发生的坏事. 确定哪些进程导致问题的最佳方法是什么? 你可以考虑禁用内存过量使用,这样内核就会杀掉泄漏进程而不是机器. 您可以使用以下两 我有一台 Linux机器,可以运行~10个内部编写的进程.

每隔一天(!)机器完全耗尽RAM,进入交换并变得无响应.这种情况在几秒钟内很快就会发生,所以坐下来观察机器直到它死亡是不可行的.这是一个突然的泄漏,而不是一个渐进的泄漏,所以top(1)并没有给出任何可能发生的坏事.

确定哪些进程导致问题的最佳方法是什么?

解决方法 你可以考虑禁用内存过量使用,这样内核就会杀掉泄漏进程而不是机器.

您可以使用以下两个sysctl禁用overcommit:

vm.overcommit_ratio=60vm.overcommit_memory=2

第一个数字取决于你有多少内存和多少交换.
分配限制将是:

amount_of_swap + overcommit_ratio/100 * amount_of_ram
总结

以上是内存溢出为你收集整理的linux – 通过使用所有RAM的神秘过程崩溃机器 – 如何识别?全部内容,希望文章能够帮你解决linux – 通过使用所有RAM的神秘过程崩溃机器 – 如何识别?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1037716.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存