JBoss 기동시 Full profile로 사용하게 되면 아래와 같은 로그내용이 올라오는 경우가 있다.
2016-05-20 10:11:15,901 WARN [org.jgroups.protocols.UDP] (MSC service thread 1-3) JGRP000015: the send buffer of socket ManagedMulticastSocketBinding was set to 1MB, but the OS only allocated 124.93KB. This might lead to performanc e problems. Please set your max send buffer in the OS correctly (e.g. net.core.wmem_max on Linux) 2016-05-20 10:11:15,902 WARN [org.jgroups.protocols.UDP] (MSC service thread 1-3) JGRP000015: the receive buffer of socket ManagedMulticastSocketBinding was set to 20MB, but the OS only allocated 124.93KB. This might lead to perfor mance problems. Please set your max receive buffer in the OS correctly (e.g. net.core.rmem_max on Linux) 2016-05-20 10:11:15,902 WARN [org.jgroups.protocols.UDP] (MSC service thread 1-3) JGRP000015: the send buffer of socket ManagedMulticastSocketBinding was set to 1MB, but the OS only allocated 124.93KB. This might lead to performanc e problems. Please set your max send buffer in the OS correctly (e.g. net.core.wmem_max on Linux) 2016-05-20 10:11:15,902 WARN [org.jgroups.protocols.UDP] (MSC service thread 1-3) JGRP000015: the receive buffer of socket ManagedMulticastSocketBinding was set to 25MB, but the OS only allocated 124.93KB. This might lead to perfor mance problems. Please set your max receive buffer in the OS correctly (e.g. net.core.rmem_max on Linux)
이것은 JBoss에서 클러스터링을 위한 JGroup 모듈이 동작하는데 필요한 커널 버퍼가 부족하기 때문에 나타나는 로그이다.
이것을 해결하기 위해서는 커널 파라메터에 아래와 같이 추가하면 해결된다.
# Allow a 25MB UDP receive buffer for JGroups net.core.rmem_max = 26214400 # Allow a 1MB UDP send buffer for JGroups net.core.wmem_max = 1048576 # 기본값도 같이 변경해준다. net.core.rmem_default = 26214400 net.core.wmem_default = 1048576
또는 즉시 적용을 위해서 아래의 명령어를 사용해도 된다. (영구적용을 위해서는 sysctl.conf 적용)
sysctl -w net.core.rmem_default=26214400 sysctl -w net.core.wmem_default=1048576 sysctl -w net.core.rmem_max=26214400 sysctl -w net.core.wmem_max=1048576