如何从C代码增加net.core.rmem_max值 [英] How to increase net.core.rmem_max value from c code
本文介绍了如何从C代码增加net.core.rmem_max值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图通过getsockopt(udp_fd,SOL_SOCKET,SO_RCVBUF,& rcvBufferSize和& sockOptSize)增加值SO_RCVBUF,但我无法将其增加到超过rmem_max
值.
I tried to increase the value SO_RCVBUF by getsockopt(udp_fd, SOL_SOCKET, SO_RCVBUF, &rcvBufferSize, &sockOptSize) but I am not able to increase it more than rmem_max
value.
所以请告诉我如何用C代码增加它.我不想通过命令增加它:
So please tell me how can I increase it by C Code. I don't want to increase it by command :
$ sysctl -w net.core.rmem_max=value
推荐答案
在Linux内核2.6.14及更高版本中,我们具有SO_RCVBUFFORCE,可用于覆盖rmem_max限制.但是,这需要设置CAP_NET_ADMIN.
In Linux kernels 2.6.14 and above we have SO_RCVBUFFORCE which can be used to override the rmem_max limit. However this needs CAP_NET_ADMIN to be set.
检查 https://linux.die.net/man/7/socket.
这篇关于如何从C代码增加net.core.rmem_max值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文