我需要让某个进程获得更多处理器资源;在任务管理器中更改其优先级不符合我的需求。我需要设置某个百分比

我需要让某个进程获得更多处理器资源;在任务管理器中更改其优先级不符合我的需求。我需要设置某个百分比

英语不是我的母语;请原谅我的打字错误和不正确的表达。

我正在一台 Windows PC 上解密 RSA,需要让一个进程使用更多的 CPU 资源。搜索引擎(百度和必应)的建议是在任务管理器中更改其优先级,但这没有帮助。在我将其更改python.exe为高优先级后,它仍然只使用了 30% 的 CPU。其余 70% 完全浪费了!如何在 Windows 中手动设置一定百分比的 CPU 资源?非常感谢。

答案1

如何在 Windows 中手动设置一定百分比的 CPU 资源。

Windows 没有这样的设置。进程总是以“全速”运行 - 只要有资源可用,每个进程总是会获得所需的 CPU 时间。

如果你看到某个进程使用的 CPU 时间少于可用时间,那是因为该进程无法使用更多。(例如,处理文件的程序可能会花费大量时间等待读取数据,在此期间它无法执行任何其他操作。)

请注意,在 Windows 任务管理器中,“100% CPU 利用率”意味着所有核心所有 CPU 的利用率都应该是最高的。您的 Python 程序可能是单线程的,而单线程一次只能在单个 CPU 核心上运行。假设您有一个 4 核 CPU,这意味着一个核心的利用率约为 100%,而其他三个核心的利用率约为 0%,导致 Windows 总共只显示约 25%。

(操作系统无法在多个 CPU 上同时运行相同的任务 - 如果这样做,那么所有 CPU 都会做完全相同的事情。这不会使任何事情变得更快,只会通过重复工作浪费更多的资源。)

因此,为了使程序运行得更快,您需要将其重写为多线程或多进程,将工作的不同部分分布在所有 CPU 核心上。Python 不太喜欢线程,因此 Python 程序通常使用多处理用于此目的的模块。

搜索引擎(百度和必应)的建议是在任务管理器中更改其优先级,但这没有帮助

优先级仅当所有进程都希望使用时才重要更多的比可用资源多。当系统有足够的资源可供所有进程使用时,就没有什么需要优先考虑的了,因为每个进程已经可以获得所需的资源了。

相关内容