首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在限制使用theano的包含重计算的python程序的cpu使用方面,“`cpulimit`”和“`nice`”没有有效的限制

在限制使用theano的包含重计算的python程序的cpu使用方面,“`cpulimit`”和“`nice`”没有有效的限制
EN

Unix & Linux用户
提问于 2016-03-18 14:08:37
回答 1查看 917关注 0票数 0

我正在运行一个用python编写的程序,它使用theano进行大量的计算。

因为它是一个非常密集的CPU程序,它正在干扰我的笔记本电脑上的所有其他活动。

由于这个原因,我一直在将进程的良好级别设置为19,并使用cpulimit将其CPU使用率降低到10%。

不幸的是,这些尝试都没有效果,因为笔记本电脑有时甚至会被卡住几分钟。

你知道如何解决这个问题吗?如何指示调度程序正确运行?

这台笔记本电脑是三星的Ultrabook (新系列9),带有英特尔的核心i5-3317U。操作系统是Linux,Ubuntu15.10,内核4.2.0。

编辑:问题似乎是由垃圾(低内存,不断交换)造成的。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-03-18 16:44:21

这种无响应性,尽管CPU是有限的,通常是由交换引起的(例如,您的进程将其他任务推送到磁盘,并使它们返回将花费大量时间)。

限制内存使用的最佳方法通常是程序内部。如果这是不可能的,并且内存被缓慢地消耗(因为它没有被释放),那么可能需要频繁地关闭程序并重新启动。当然,只有在定期编写中间结果的情况下,这才有效。

从程序外部可以使用timeout脚本限制内存量(这不是coreutils的超时!)。它有一个-m选项来限制内存,如果它开始消耗过多的内存,它将杀死您的进程。

如果不能重新启动处理,则您的选项是

  • 如果可以安装,为您的计算机购买更多内存。
  • 如果您的膝上型电脑支持SATA SSD,则安装SATA SSD,并在此基础上进行交换。
  • 重写软件,使其工作在较小的块中
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/270690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档