回答
收藏
分享
举报
nginx 绑定CPU亲缘性出错
提问于2020-09-18 11:31

浏览 4.5k

文章标签

由于服务器是多核处理器,根据型号不同需要作不同的绑定策略,所以想通过配置worker_processes auto;来自动绑定CPU亲缘性。却提示指令错误。

2020/09/18 11:18:34 [alert] 12220#12220: sched_setaffinity() failed (22: Invalid argument)
nginx版本:1.15.8
linux内核版本:3.16.35


已修改于2023-03-17 02:11



写下您的回答
发表回答
全部回答(2)

按点赞数排序

按时间排序

worker_processes 是用来设置worker进程数量的,auto只是根据CPU核心数来配置worker进程数,它与sched_setaffinity调用,也就是CPU亲和性无关。应该是你的 worker_cpu_affinity指令配错了,你改成worker_cpu_affinity auto;看看

赞同

0

回复举报

回答于2020-10-30 10:46



回复陶辉
回复

这个不是ERROR级别哈,属于:alert[污]

赞同

0

回复举报

回答于2020-10-21 11:02



回复baru
回复
提问者
Missa
这家伙很懒还未留下介绍~
0
文章
1
问答
0
粉丝
相关问答

添加这个配置:server_tokens off;

点赞 0
浏览 3.8k

简言之,就是内核将Socket缓冲区情况通知给用户态进程的接口。概括为以下4点:

1、TCP由内核实现的,epoll是内核提供给应用进程的接口;

2、当TCP连接需要发送数据时,Socket缓冲区上必须有空闲位置。内核接收到对方的ACK报文,才能释放掉发送报文(否则要反复重发),产生空闲位置。

3、当TCP连接需要接收数据时,必须是Socket缓冲区上已经有数据了,否则read函数就会阻塞。epoll_wait可以完成2、3两个步骤(包括三次握手)的通知。

4、当你就某个TCP连接需要接收内核通知时,通过epoll_ctl函数告诉内核即可。

点赞 0
浏览 3.8k

ticket已经明确地表明了NGINX开发团队的态度,不支持环境变量实现正向代理,可以尝试使用stream配置proxy_pass转发数据,不过解决方案就不是那么简单了。

点赞 0
浏览 3.4k