On Fri, 13.11.15 15:36, Jóhann B. Guðmundsson (johan...@gmail.com) wrote:
> Arguably this should be called system instead of default for system wide > settings where applicable ( you need to keep a clear distinction which > option belongs where and what it affects ) The DefaultTasksMax= value in /etc/systemd/system.conf sets the default limit for units in the --system instance of systemd (i.e. PID 1). The same value in /etc/systemd/user.conf sets the default limit for units in the --user instance. It's pretty symmetric there. > Will people be able to disable this per type unit ( set > "UnitTasksAccounting=yes/no" ) systemd (PID 1) manages units, as such I think it's obvious that a "default" setting sets the default for those units. And if it's not clear I think the man page is good enough. > Users sets SystemTasksAccounting=yes in system.conf but turns off task > accounting for b.service while while keeping it for every other type > unit ? I cannot parse this. > > Or > > Users sets SystemTasksAccounting=no in system.conf but enables task > accounting for a.service while while keeping it disabled for every other > type unit ? I cannot parse this either. Note that in the individual services you can use TasksMax= already, but it defaults to "infinity" right now, and I want to make this global default configurable, that's all. > >b) I'd like to introduce DefaultTasksMax= that controls the default > > value of the per-unit TasksMax= by default, and would like it to > > set to some value such 1024 out-of-the-box. This will mean that any > > service or scope created will by default be limited to 1024 > > tasks. This of course is a change from before that has the > > potential to break some daemons that maintain an excessive number > > of processes or threads. However, I think it's a much better choice > > to raise the limit for them, rather than stay unlimited for all > > services by default. I think 1024 is not particularly low, but also > > not particularly high. Note that the kernel by default limits the > > number of processes to 32K in total anyway. > > Should there not be two options "SystemTasksMax" which alters the kernel > default limits and UnitTaskMax which controls the default value of per-unit > ? I cannot parse this. > >c) In logind.conf I intend to add a TasksMax= setting that sets the > > number of tasks for user sessions, and overrides the systemd-wide > > setting for user scopes. It would also be set out-of-the-box, and > > default to something like 8K or so. (Note that this is very similar > > to setting RLIMIT_NPROC via /etc/security/limits.conf, but has the > > benefit of covering also suid binaries, being nicely queriable > > via systemctl status and controllable during runtime via "systemctl > > set-property" and so on) > > Should not this be SessionTasksMax= setting? to clearly disquince this from > other task mask settings ( accommodated by SessionTasksAccounting= ) It's in the logind.conf configuration file in the [Login] section. I think this makes pretty sure that this is about logins... > # Enable/disable system wide task accounting > SystemTasksAccounting=yes/no > > # Set system wide task limit > SystemTasksMax=32768 > > # Enables/disable task accounting for type units > UnitTasksAccounting=yes/no > > # Set type unit wide task limit > UnitTaskMax=1024 I don't understand what this is supposed to be. Note that every process systemd manages is within the "-.slice", hence if you want to account and limit the number of processs on the entire system you can do so by altering the settings on that slice unit. > # Enable/disable session task accounting > SessionTasksAccounting=yes/no > > # Set session task limit > SessionTasksMax=8000 systemd itself knows nothing about a "session" concept. That's a logind thing, and as such the settinsg for it have to be in logind.conf. > For type units people could overwrite system wide defaults via > > [Unit] > UnitTasksAccounting=yes/no > UnitTaskMax=64 > > For sessions people could overwrite system wide defaults ( logind.conf ) via > SessionTasksAccounting=yes/no > SessionTasksMax=12000 > > Status needs to show the current usage and max available and daemon reload > should issue a warning on or fail if the max value for type units and > sessions is set higher than the value of system tasks Max "systemctl status" shows the current usage and any enforced limit already. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel