> -----Original Message----- > From: Lennart Poettering [mailto:[email protected]] > Sent: Thursday, November 03, 2011 18:08 > To: Michael D. Berger > Cc: 'Kay Sievers'; [email protected] > Subject: Re: [systemd-devel] FW: pthread_create() fails SysV > in myDaemon on boot > > On Thu, 03.11.11 15:37, Michael D. Berger ([email protected]) wrote: > > > [...] > So, you basically have three options here: > > a) Opt out of the "cpu" cgroup controller entirely, by > dropping it from DefaultControllers in /etc/systemd/system.conf. > > b) Explicitly place your service in the root cgroup of the "cpu" > controller, by adding "ControlGroup=cpu:/" to the service file. > > c) By actually assigning an RT budget to the group, by adding > "ControlGroupAttribute=cpu.rt_runtime_us 500000" to the service file. > > Background: we place every service on the system in its own > cgroup in the "cpu" hierarchy. Unfortunately this means that > processes which do RT will break, since creating a cgroup in > the "cpu" hierarchy will assign them a zero RT budget by > default. This needs to be fixed in the kernel one day. With > option a) you globally disable that your services get their > own "cpu" cgroup. With option b) you do this only for the > service in question. With c) you assign an explicit RT budget. > > Why do we add all services to their own "cpu" cgroups? > because it evens out CPU usage of services with many and with > few processes. Consider Apache with a 1000 worker processes > and CGI scripts forked off vs. MySQL with 1 process. > Normally, Apache would get 1000 as much CPU as MySQL. By > adding them to their own cgroups Apache will get half and > MySQL the other half of the available CPU time. > > Lennart > > -- > Lennart Poettering - Red Hat, Inc. > > __________ NOD32 6599 (20111103) Information __________ > > This message was checked by NOD32 antivirus system. > http://www.eset.com > >
Which service file? If you mean "myDaemon.service", I don't have one; I have "/etc/init.d/myDaemon". Could I put options b) or c) in "/etc/init.d/myDaemon"? (I tried it, and I didn't start on boot. But maybe my format was wrong.) In "ControlGroupAttribute" described in any man page? Is it necessary for me to create a "myDaemon.service" file? If so, in what directory should I put it? Note that I also am failing to bind a TCP listener socket. Thanks for your help. Mike. -- Michael D. Berger [email protected] http://www.rosemike.net/ _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
