Python:根据负载、时间等监控和终止/节流生成的进程

标签 python

我有一个使用子进程生成外部第三方应用程序的工作队列。我想控制这些进程消耗了多少我的服务器的整体资源。其中一些外部应用程序也往往会因未知原因挂起,并通过重启解决。

什么是好的方法:

  • 在 python 中监控整体服务器负载(例如,平均负载或 vmstat 的等效负载)?
  • 监控我生成的进程的 CPU 负载?
  • 如果我生成的进程花费的时间太长或占用的 CPU 过多,是否终止它们?

基本上,我需要能够使用生成的线程控制我放置在服务器上的负载。

希望有一个包或库可以为我做这一切?

最佳答案

标准 python 库中提供了获取平均负载和终止进程的函数 (os.getloadavg(), os.kill(), subprocess.Popen .kill()).有一个psutil其余包(psutil.Process.get_cpu_times()psutil.Process.get_cpu_percent()psutil.Process.get_memory_info()psutil.Process.get_memory_percent() 等)

关于Python:根据负载、时间等监控和终止/节流生成的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1654922/

相关文章:

python - 弹出警告框

python - 实现装饰器来限制 setter

python - chardet 在 Big5 上显然是错误的

python - 在 MySQL 数据库中存储和查询大量变长列表的最佳方法是什么?

Python 正则表达式困惑

python - 如何在 Python 的包装函数中使用任意函数

python - 在 Python 中读取 .tar.gz 文件

python - 浮点精度导致比较时出错

python - 如何使用 Python 从 Amazon Polly 将文件另存为 mp3

c++ - C++ 软件中 Python API 的成本是多少?