Linux:如何检测消耗最大内存的进程并使用std :: thread终止进程?我是C++编程的新手,因此我们将非常感谢用C++代码来实现该功能的解释。 分配的确切文本是编写一个C++代码,用于监视设备的内存使用情况,并且应该知道达到目标最大内存使用情况的设备。当线程检测到这种情况时,它应该能够识别正在占用更多内存的进程并执行以下操作,根据应用程序优先级列表检查进程。如果进程处于低优先级类别,请停止进程并重新启动。否则,由于所识别的过程通知用户存储器过载发生,根据用户确认重新启动。重新启动应该是设备重新启动或进程重新启动,这将根据导致此情况的进程的性质决定。详细信息应在日志文件中捕获。Linux:如何检测消耗最大内存并杀死它的进程?
-2
A
回答
0
您可能想要查看Linux OOM (Out-of-memory) killer。
从这个链接:
它是Linux的OOM杀手“,以释放内存的系统时,一切都失败牺牲一个或多个进程的工作。
所以,从技术上说,你不需要做任何事情。 ;-)
但是,如果您仍然想根据自己的标准选择并杀死受害者进程,您可以创建一个Linux服务(它始终在后台运行)来执行此操作。示例代码在链接的文章中。
关于你的std::thread
点,如果你已经有一个可执行文件,并且你想产生一个专门的线程来做到这一点,是的,你也可以做到这一点。逻辑将简单地进入该线程。
相关问题
- 1. 如何检测杀死进程事件
- 2. 在Linux上检查杀死进程
- 3. 检测会话挂起并杀死它
- 4. 计算进程消耗的最大空闲存储内存
- 5. 杀死Linux进程刚跑
- 6. Linux - 如何杀死Kibana进程
- 7. 如何简单地杀死python-tensorflow进程并释放内存?
- 8. 监控Node.js进程中的最大内存消耗
- 9. 杀死进程杀死其他进程
- 10. 如何杀死STIME的一个Linux进程(dangling svnserve进程)
- 11. Linux Bootstrap消耗内存
- 12. 进程的线程级内存消耗
- 13. Linux中的自动杀死进程
- 14. 如何杀死nohup进程?
- 15. 如何用wmic找到进程pid并用taskkill杀死它
- 16. 杀死进程
- 17. 杀死进程
- 18. 在linux中杀死一个进程
- 19. 如何检查内存消耗javascript
- 20. 杀死不会杀死进程
- 21. 什么消耗Linux中的内存
- 22. Java进程消耗大于2 GB的内存
- 23. 如何找到MySQL进程列表并杀死这些进程?
- 24. 如何杀死bash从最新到最旧的进程
- 25. 如何通过shell脚本杀死linux已停用的进程
- 26. 杀死mysqld进程
- 27. SIGKILL杀死进程
- 28. VB.NET - 杀死进程
- 29. 杀死Windows中存在的IF进程
- 30. 杀死一个进程(据说)在Linux内核中忙?
'的std :: thread'应该产生一个线程,而不是终止进程。 –
显示您所尝试过的内容,因此我们感谢作者主要是解决您的问题,然后我们将帮助您提出建议或可能的解决方案。如果您是初学者,我建议您寻找更简单的应用程序。 – eyllanesc
我的意思是内存监视的过程应该发生在后台,所以我必须使用std :: thread。要实现的功能是检测一个耗用RAM的进程并将其杀死 – Linuxknowledgeseeker