我正在查看’os’和’process’模块源代码,似乎没有办法确定node.js进程在运行之前/期间/之后运行的核心.
我正在寻找类似的东西:
process.env.CORE_ID //not real
我只是想确认不同的node.js进程是在不同的核心上运行的.尽管操作系统最终选择执行node.js进程的核心,但我们应该能够在操作系统启动进程后读取该数据,这似乎是合理的.
解决方法
进程不附加到任何操作系统中的特定核心(除了,可能在某些实时定向的核心中).
处理器(和核心)是可以在需要时分配给任何进程的资源.一个线程只能在一个核心中同时执行,但核心由所有进程共享.操作系统负责在可用核心上安排进程.因此,当任何进程由于在同一核心中执行(或继续执行)另一个进程而“暂停”时,没有理由期望下次在同一核心中恢复该进程.
当你通过简单地执行htop在具有相对低的cpu活动的(多核)机器中具有高cpu cosume的单个进程时,这是可以观察到的.然后你可以看到总是有一个高度占用的核心,但核心是它会定期改变.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。