【发布时间】:2017-01-21 10:19:31
【问题描述】:
有些第三方库会出于许可目的检查 CPU 计数,但没有明确的方式告诉他们“使用 1 个内核”。
为了绕过这个限制,我希望能够在此过程的早期启动 CPU 亲和性。
有没有办法为从 Eclipse 中启动的进程设置 CPU 亲和性?我想保持工作流程相对相同,这意味着我仍然希望能够调试等。
如果这是唯一的解决方案,我可以修改程序,但我更喜欢依赖 JVM 选项或 Eclipse 运行程序参数的解决方案。
【问题讨论】:
-
这有点令人费解。 You likely can't do it without JNI,但真的令人费解的是我怀疑你在做什么;鉴于大多数现代服务器都超过 16 个,为什么您的代码库依赖于检查每个内核的许可证?
-
这是哪个操作系统?
-
@Makoto “为什么你的代码库依赖于检查每个内核的许可证”第一句话。这不是“我的代码库”——我无法控制的 3rd 方库的代码库。谢谢你的链接,我去看看。
-
@thatotherguy Windows。但最好知道如何在 Linux 中执行此操作。
-
@levantpied 愚蠢的问题:这些商业库是否会检查 used 运行它们的核心数量,或运行 available 的核心数量他们?我问是因为我使用的所有商业软件都是后者(通过系统调用),我希望你的库就是这种情况,然后简单地限制它们只使用一种护理可能无法解决你的许可问题。