如何阻止操作系统限制我的 CPU/RAM 使用?

如何阻止操作系统限制我的 CPU/RAM 使用?

我有一个使用 的 Python 程序multiprocessing.Pool,这意味着它会生成多个进程。该程序获取 70k 文本文件,进行一些处理,然后将它们保存到另一个目录。我想在运行它时利用我的所有 CPU 核心,例如

有一段时间,我能够做到这一点。我的程序每次运行大约需要 10 秒钟,这很好。

real    0m12.430s
user    0m13.072s
sys     0m9.704s

但在过去几天里,它一直不稳定。有时它所有核心的 CPU 占用率都达到 100%。其他时候,程序毫无理由地只使用了 0-1%,而且运行时间长达 5 分钟。

real    5m6.186s
user    0m4.844s
sys     0m4.968s

请注意 real >> user + sys,尽管我不知道这意味着什么。还请注意,我没有在运行之间更改代码的任何参数或任何其他设置。在这种情况下,我还注意到每个进程的 RAM 使用量从未超过 10 MB,这可能会影响 CPU 使用率。

我的问题是,我怎么才能开始如何诊断这个问题?我的一些假设是:

  1. 操作系统检测到我的笔记本电脑已使用 2 年,并试图通过限制 CPU/RAM 使用率来延长其使用寿命
  2. 如果某个进程在很长一段时间内一直占用大量 CPU/RAM,那么操作系统可能会限制该进程的使用率。
  3. 有人远程访问了我的笔记本电脑并对我进行骚扰

我在一台笔记本电脑上运行 Linux Mint 17.3,该笔记本电脑配备 Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz、4 核、8 GB RAM、HDD

提前致谢。

编辑:这是程序运行时的 vmstat 输出

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  1      0 2773588 242912 2522744    0    0   114    54  229  812 11  2 83  5  0

相关内容