IBM WebSphere Message Broker 8.0.1 - Getting started
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.sem = 500 256000 250 1024
fs.file-max = 524288
net.ipv4.tcp_keepalive_time = 300
mqconfig: V3.6 analyzing Red Hat Enterprise Linux Server release 6.3
(Santiago) settings for WebSphere MQ V7.5
System V Semaphores
semmsl (sem:1) 500 semaphores IBM>=500 PASS
semmns (sem:2) 17 of 256000 semaphores (0%) IBM>=256000 PASS
semopm (sem:3) 250 operations IBM>=250 PASS
semmni (sem:4) 7 of 1024 sets (0%) IBM>=1024 PASS
System V Shared Memory
shmmax 68719476736 bytes IBM>=268435456 PASS
shmmni 1 of 4096 sets (0%) IBM>=4096 PASS
shmall 107093 of 4294967296 pages (0%) IBM>=2097152 PASS
System Settings
file-max 5792 of 524288 files (1%) IBM>=524288 PASS
tcp_keepalive_time 300 seconds IBM<=300 PASS
Current User Limits (mqm)
nofile (-Hn) 20000 files IBM>=10240 PASS
nofile (-Sn) 20000 files IBM>=10240 PASS
nproc (-Hu) 10 of 4096 processes (0%) IBM>=4096 PASS
nproc (-Su) 10 of 4096 processes (0%) IBM>=4096 PASS
I've been experimenting with Linux kernel tuning, using the mqconfig tool: -
This is what mqconfig shows me ( run as user mqm ): -
$ ./mqconfig -v 7.5
mqconfig: V3.6 analyzing Red Hat Enterprise Linux Server release 6.3
(Santiago) settings for WebSphere MQ V7.5
System V Semaphores
semmsl (sem:1) 250 semaphores IBM>=500 FAIL
semmns (sem:2) 17 of 256000 semaphores (0%) IBM>=256000 PASS
semopm (sem:3) 32 operations IBM>=250 FAIL
semmni (sem:4) 7 of 2048 sets (0%) IBM>=1024 PASS
System V Shared Memory
shmmax 68719476736 bytes IBM>=268435456 PASS
shmmni 1 of 4096 sets (0%) IBM>=4096 PASS
shmall 107093 of 4294967296 pages (0%) IBM>=2097152 PASS
System Settings
file-max 5728 of 792955 files (0%) IBM>=524288 PASS
tcp_keepalive_time 7200 seconds IBM<=300 FAIL
Current User Limits (mqm)
nofile (-Hn) 20000 files IBM>=10240 PASS
nofile (-Sn) 20000 files IBM>=10240 PASS
nproc (-Hu) 10 of 62767 processes (0%) IBM>=4096 PASS
nproc (-Su) 10 of 1024 processes (0%) IBM>=4096 FAIL
(Santiago) settings for WebSphere MQ V7.5
System V Semaphores
semmsl (sem:1) 250 semaphores IBM>=500 FAIL
semmns (sem:2) 17 of 256000 semaphores (0%) IBM>=256000 PASS
semopm (sem:3) 32 operations IBM>=250 FAIL
semmni (sem:4) 7 of 2048 sets (0%) IBM>=1024 PASS
System V Shared Memory
shmmax 68719476736 bytes IBM>=268435456 PASS
shmmni 1 of 4096 sets (0%) IBM>=4096 PASS
shmall 107093 of 4294967296 pages (0%) IBM>=2097152 PASS
System Settings
file-max 5728 of 792955 files (0%) IBM>=524288 PASS
tcp_keepalive_time 7200 seconds IBM<=300 FAIL
Current User Limits (mqm)
nofile (-Hn) 20000 files IBM>=10240 PASS
nofile (-Sn) 20000 files IBM>=10240 PASS
nproc (-Hu) 10 of 62767 processes (0%) IBM>=4096 PASS
nproc (-Su) 10 of 1024 processes (0%) IBM>=4096 FAIL
Following the advice here: -
Additional settings for installing on UNIX and Linux and Linux systems -> Additional settings for installing WebSphere MQ on Linux systems
this is how I turned FAIL into PASS.
(a) For the System V Semaphores, I added the following line to /etc/sysctl.conf
…
kernel.sem = 500 256000 250 1024
…
…
which has increased semmsl from 250 to 500 and increased semopm from 32 to 250.
(b) For the System Settings, I added the following two lines to /etc/sysctl.conf
…
fs.file-max = 524288
net.ipv4.tcp_keepalive_time = 300
…
(c) For the Current User Limits, I added the following lines to /etc/security/limits.conf
…
mqm hard nproc 4096
mqm soft nproc 4096
…
mqm soft nproc 4096
…
In order to make the sysctl.conf changes permanent, I ran the following command ( as root ): -
$ sysctl -p
which returns: -
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.sem = 500 256000 250 1024
fs.file-max = 524288
net.ipv4.tcp_keepalive_time = 300
In order to make the limits.conf changes permanent, I logged out of the mqm and then logged back in.
This time around, I get the following: -
$ ./mqconfig -v 7.5
mqconfig: V3.6 analyzing Red Hat Enterprise Linux Server release 6.3
(Santiago) settings for WebSphere MQ V7.5
System V Semaphores
semmsl (sem:1) 500 semaphores IBM>=500 PASS
semmns (sem:2) 17 of 256000 semaphores (0%) IBM>=256000 PASS
semopm (sem:3) 250 operations IBM>=250 PASS
semmni (sem:4) 7 of 1024 sets (0%) IBM>=1024 PASS
System V Shared Memory
shmmax 68719476736 bytes IBM>=268435456 PASS
shmmni 1 of 4096 sets (0%) IBM>=4096 PASS
shmall 107093 of 4294967296 pages (0%) IBM>=2097152 PASS
System Settings
file-max 5792 of 524288 files (1%) IBM>=524288 PASS
tcp_keepalive_time 300 seconds IBM<=300 PASS
Current User Limits (mqm)
nofile (-Hn) 20000 files IBM>=10240 PASS
nofile (-Sn) 20000 files IBM>=10240 PASS
nproc (-Hu) 10 of 4096 processes (0%) IBM>=4096 PASS
nproc (-Su) 10 of 4096 processes (0%) IBM>=4096 PASS
2 comments:
Does reboot required for this ?
@Snehal
It's not required in order to have mqconfig run to completion, but it's typically a good idea if you're changing kernel parameters.
So, for me, I'd reboot once I have made these changes, before going into production.
Regards, Dave
Post a Comment