关于CPU的多核手艺,我们知道,CPU0是很关头的,如果0号CPU被用得过狠的话,别的CPU性能也会下降,因为CPU0是有调剂功能的,所以,我们不克不及任由操作系统负载平衡,因为我们自己更体会自己的法度,所以,我们可以手动地为其分派CPU核,而不会过量地占用CPU0,或是让我们关头过程和一堆别的过程挤在一起。
- 对Windows来讲,我们可以通过"任务办理器"中的"过程"而中右键菜单中的"设置相关性……"(Set Affinity…)来设置并限制这个过程能被运行在哪些核上。
- 对Linux来讲,可使用taskset命令来设置(你可以通过安装schedutils来安装这个命令:apt-get install schedutils)
多核CPU还有一个手艺叫NUMA手艺(Non-Uniform Memory Access)。传统的多核运算是使用SMP(Symmetric Multi-Processor )模式,多个措置器同享一个集中的存储器和I/O总线。于是就会呈现一致存储器拜候的问题,一致性通常意味着性能问题。NUMA模式下,措置器被划分成多个node, 每个node有自己的本地存储器空间。关于NUMA的一些手艺细节,你可以查看一下这篇文章《Linux 的 NUMA 手艺》,在Linux下,对NUMA调优的命令是:numactl 。如下面的命令:(指定命令"myprogram arg1 arg2"运行在node 0 上,其内存分派在node 0 和 1上)
1
分享到:
阅读此篇文章的网友还阅读了:网友评论推荐建站经验热门建站经验 |