前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx分配CPU进程参数worker_cpu_affinity说明

Nginx分配CPU进程参数worker_cpu_affinity说明

作者头像
魏杰
发布2022-12-23 17:59:54
1.4K0
发布2022-12-23 17:59:54
举报

对于具有多颗CPU的服务器,Nginx通过设置worker_cpu_affinity参数,即可轻松实现控制进程平均分配到多颗CPU上。

例如:服务器上安装有2颗双核CPU(在系统中显示CPU数量应该是4个)

例1:设定Nginx启用4个进程,那么可以写为:

worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000;

例2:设定Nginx启用8个进程,那么可以写为:

worker_processes 8; worker_cpu_affinity 0001 0010 0100 1000 0001 0010 0100 1000;

紧跟在worker_cpu_affinity命令后的几组数字代表了Nginx开启了多少个进程,例如开启4个进程,后面对应就有四组数字,每组数字对应一个进程。

每组数字的位数是由CPU的数量所决定的,2个CPU是01,4个CPU是0001,8个CPU是00000001,有多少个CPU,就有几位数,1表示该CPU可被Nginx使用,0表示该CPU禁用。

配置完毕后,重启Nginx。

测试Nginx进程是否能正常分配到多颗CPU上 ,可在另一台机器上通过apache的ab工具进行检测。同时,在服务器上用top命令,按1,就可以看到CPU的工作情况。如果多个CPU的利用率都相差不多,证明Nginx己经成功的设置了worker_cpu_affinity参数。

官方说明:http://wiki.nginx.org/NginxHttpMainModule#worker_cpu_affinity

worker_cpu_affinity Syntax: worker_cpu_affinity cpumask [cpumask…] Default: none Linux only. With this option you can bind the worker process to a CPU, it calls sched_setaffinity(). For example, worker_processes     4; worker_cpu_affinity 0001 0010 0100 1000; Bind each worker process to one CPU only. worker_processes     2; worker_cpu_affinity 0101 1010; Bind the first worker to CPU0/CPU2, bind the second worker to CPU1/CPU3. This is suitable for HTT.

阳光部落原创,更多内容请访问 http://www.sunbloger.com/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档