Nginx分配CPU进程参数worker_cpu_affinity说明
对于具有多颗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/
相关文章
- Linux—进程管理
- Nginx配置文件_nginx.conf
- Nginx配置文件(nginx.conf)配置详解
- Nginx教程_nginx docker
- Nginx配置文件(nginx.conf)配置详解
- 【说站】python多进程中多个参数函数的使用
- Redis的哨兵进程
- python进程模块
- Linux 这4个进程相关的命令,太好用!
- python多进程编程-协程概念和用途
- Linux下掌控多进程管道(linux多进程管道)
- 如何在Nginx上配置MySQL数据库(nginx配置mysql)
- 情况Linux下查看Nginx进程状态:一招即通(linux查看nginx进程)
- 使用Nginx连接Redis服务器(nginx连接redis)
- Linux删除Nginx: 一步一步指南(linux删除nginx)
- 缓存Linux实现Nginx缓存的快速删除(linux删除nginx)
- Linux安装Nginx:一步一步指南(linux下载nginx)
- 利用率Linux下查看CPU进程利用率的方法(linuxcpu进程)
- Nginx网站架构实战——04、nginx日志管理
- Linux C中的守护进程:实现程序无人值守运行(linuxc守护进程)
- 如何在 Linux 中查看进程目录(linux查看进程目录)
- 深入Linux环境中寻找僵尸进程(linux查找僵尸进程)
- 守护守护,监控Redis安全运行(守护进程监控redis)
- 通信解决跨进程通信的Redis发挥作用(redis 跨进程)
- 写了个监控nginx进程的Python脚本