Actions
Feature #13471
closedzoneadmd should infer zone.max-processes
Start date:
Due date:
% Done:
100%
Estimated time:
Difficulty:
Bite-size
Tags:
Gerrit CR:
External Bug:
Description
This is an upstream of https://smartos.org/bugview/OS-5292, work by Jerry Jelinek
Presently, if zone.max-processes is set but zone.max-lwps isn't, zoneadmd will calculate a "reasonable" default foe zone.max-lwps. The reverse should be done when max-lwps is set and max-processes is not. This would prevent certain negative behaviors such as a broken app accumulating thousands (perhaps millions) unreaped zombies.
Updated by Andy Fiddaman over 2 years ago
Tested by build and onu, then setting various resource controls on a zone, booting it and checking the output from prctl:
Setting max-process to 123456 causes max-lwps to be set to 1234560 (10x):
bloody# zadm show test max-processes "123456" bloody# zadm boot test bloody# prctl -n zone.max-processes `pgrep -n sshd` process: 1606: /usr/sbin/sshd -D NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT zone.max-processes usage 12 privileged 123K - deny - system 2.15G max deny - bloody# prctl -n zone.max-lwps `pgrep -n sshd` process: 1606: /usr/sbin/sshd -D NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT zone.max-lwps usage 12 privileged 1.23M - deny - system 2.15G max deny - bloody# zadm shutdown test
Setting max-lwps to 65536 causes max-processes to be set to the same:
bloody# zadm show test max-lwps "65536" bloody# zadm boot test bloody# prctl -n zone.max-processes `pgrep -n sshd` process: 2051: /usr/sbin/sshd -D NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT zone.max-processes usage 8 privileged 65.5K - deny - system 2.15G max deny - bloody# prctl -n zone.max-lwps `pgrep -n sshd` process: 2051: /usr/sbin/sshd -D NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT zone.max-lwps usage 11 privileged 65.5K - deny - system 2.15G max deny -
Setting both works as expected:
bloody# zadm show test max-processes "123456" bloody# zadm show test max-lwps "65536" bloody# zadm boot test bloody# prctl -n zone.max-processes `pgrep -n sshd` process: 2401: /usr/sbin/sshd -D NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT zone.max-processes usage 8 privileged 123K - deny - system 2.15G max deny - bloody# prctl -n zone.max-lwps `pgrep -n sshd` process: 2401: /usr/sbin/sshd -D NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT zone.max-lwps usage 11 privileged 65.5K - deny - system 2.15G max deny -
Updated by Electric Monk over 2 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100
git commit 3c2328bf3bf6527c6b28445336d32183a277b1e1
commit 3c2328bf3bf6527c6b28445336d32183a277b1e1 Author: Jerry Jelinek <jerry.jelinek@joyent.com> Date: 2021-02-04T22:05:39.000Z 13471 zoneadmd should infer zone.max-processes 13472 Man pages missing the max-processes resource control Portions contributed by: Andy Fiddaman <andy@omnios.org> Reviewed by: C Fraire <cfraire@me.com> Reviewed by: Toomas Soome <tsoome@me.com> Approved by: Robert Mustacchi <rm@fingolfin.org>
Actions