linux内核设置多核还是单核

linux内核设置多核还是单核,第1张

linux内核会把多核的处理器当做单独的cpu来识别,例如两个4和cpu在linux系统下就会被当做8个单核cpu。但是从性能角度来讲,2个四核的cpu和8个单核的cpu并不完全等价,根据权威部分测试得出结论,前者的整体性能要比后者低25%~30%。

#define _GNU_SOURCE

#include <pthread.h>

#include <stdio.h>

#include <stdlib.h>

#include <errno.h>

#define handle_error_en(en, msg) \

do { errno = enperror(msg)exit(EXIT_FAILURE)} while (0)

int

main(int argc, char *argv[])

{

int s, j

cpu_set_t cpuset

pthread_t thread

thread = pthread_self()

/* Set affinity mask to include CPUs 0 to 4 */

CPU_ZERO(&cpuset)

for (j = 0j <4j++)

CPU_SET(j, &cpuset)

s = pthread_setaffinity_np(thread, sizeof(cpu_set_t), &cpuset)

if (s != 0)

handle_error_en(s, "pthread_setaffinity_np")

/* Check the actual affinity mask assigned to the thread */

s = pthread_getaffinity_np(thread, sizeof(cpu_set_t), &cpuset)

if (s != 0)

handle_error_en(s, "pthread_getaffinity_np")

printf("Set returned by pthread_getaffinity_np() contained:\n")

for (j = 0j <CPU_SETSIZEj++)

if (CPU_ISSET(j, &cpuset))

printf("CPU %d\n", j)

exit(EXIT_SUCCESS)

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7519424.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-06
下一篇2023-04-06

发表评论

登录后才能评论

评论列表(0条)

    保存