当我在flask中设置选项app.run(threaded=True))
时,我的服务可以处理多个并发请求。但似乎我的服务将消耗尽可能多的CPU资源来处理多个并发请求。
反正是否限制或控制我的应用程序使用的资源?
答案 0 :(得分:0)
您可以尝试使用资源模块。取自this post。你可以为CPU做这样的事情。 Here is资源模块上的页面。
import resource
sec = 60 * 60 # this is one hour of time.
resource.setrlimit(resource.RLIMIT_CPU, sec)
注意,这会更改CPU上允许进程的时间(以秒为单位)。如果要限制进程的堆栈/堆大小,必须使用resource.RLIMIT_STACK
和resource.RLIMIT_HEAP
。这些都是字节数,所以代码看起来像这样。
import resource
mem = 1024 * 1024 # this is one megabyte, you want much more than this normally
resource.setrlimit(resource.RLIMIT_STACK, mem)
resource.setrlimit(resource.RLIMIT_HEAP, mem)