Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LX add missing kernel parameter mappings #368

Open
blackwood821 opened this issue Jun 9, 2021 · 4 comments
Open

LX add missing kernel parameter mappings #368

blackwood821 opened this issue Jun 9, 2021 · 4 comments

Comments

@blackwood821
Copy link

blackwood821 commented Jun 9, 2021

We would like to run third-party software on LX that requires a handful of Linux kernel parameters to be set. The full list is shown at https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/minimum-parameter-settings-for-installation.html#GUID-CDEB89D1-4D48-41D9-9AC2-6AD9B0E944E3. From that list there is no mapping for the following parameters in the current LX emulation code:

semmsl
semmns
semopm
semmni
panic_on_oops
rmem_default
rmem_max
wmem_default
wmem_max

Which can be seen from this output on a LX image running kernel_version 4.1.12:

[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep semmsl
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep semmns
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep semopm
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep semmni
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep shmall
kernel.shmall = 1048576
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep shmmax
kernel.shmmax = 4294967295
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep shmmni
kernel.shmmni = 4096
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep panic_on_oops
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep file-max
fs.file-max = 131072000
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep aio-max-nr
fs.aio-max-nr = 65536
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 32768       65535
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep rmem_default
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep rmem_max
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep wmem_default
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -a | grep wmem_max
[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]#

Looking at rmem_max and wmem_max for example, the Linux commands to set these parameters are:

sysctl -w net.core.rmem_max=<value>
sysctl -w net.core.wmem_max=<value>

But we encounter the following error:

[root@520d7a1b-25a1-cea9-84fc-fb445f9b3f94 ~]# sysctl -w net.core.rmem_max=2096304
sysctl: cannot stat /proc/sys/net/core/rmem_max: No such file or directory

We were able to set the equivalent underlying illumos kernel parameter with the command below but the issue is that the LX emulation lies to the Linux system call and returns some arbitrary value even though we have changed the kernel param in illumos under the hood.

/native/usr/sbin/ndd -set /dev/udp udp_max_buf 2096304

Hoping mappings can be added for these kernel parameters.

@bahamat
Copy link
Member

bahamat commented Jun 9, 2021

This is something that neirac from IRC was mentioning he would look at, isn't it? It's probably best to file this in the illumos redmine (where he can access it) rather than here. This issue is likely to be missed if it's fixed upstream first.

@blackwood821
Copy link
Author

@bahamat Yes. I will look into filing it there. Never looked at illumos redmine before.

@citrus-it
Copy link

The lx brand is not part of illumos-gate. illumos-joyent is the upstream for this feature which makes this the appropriate place.

@bahamat
Copy link
Member

bahamat commented Jun 10, 2021

Oh, that’s right I forgot about that. Ok, when you’re ready go ahead and open the pull request here and mark me as reviewer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants