🐧 Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ сСрвиса systemd

by itisgood

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ слуТбы systemd с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² drop-in, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ использовании ansible ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ развСртывания.

Π― Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ слуТбу redis-server Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° для измСнСния ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ слуТбы.

$ sudo systemctl status redis
● redis-server.service - Advanced key-value store
   Loaded: loaded (/etc/systemd/system/redis-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-09-17 17:24:12 GMT; 28min ago
     Docs: http://redis.io/documentation,
           man:redis-server(1)
 Main PID: 4045 (redis-server)
    Tasks: 4 (limit: 393)
   Memory: 2.1M
   CGroup: /system.slice/redis-server.service
           └─4045 /usr/bin/redis-server 127.0.0.1:6379

Sep 17 17:24:11 buster systemd[1]: Starting Advanced key-value store...
Sep 17 17:24:12 buster systemd[1]: Started Advanced key-value store.

ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ сСрвисныС ограничСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

$ sudo systemctl show  redis-server | grep ^Limit
LimitCPU=infinity
LimitCPUSoft=infinity
LimitFSIZE=infinity
LimitFSIZESoft=infinity
LimitDATA=infinity
LimitDATASoft=infinity
LimitSTACK=infinity
LimitSTACKSoft=8388608
LimitCORE=infinity
LimitCORESoft=0
LimitRSS=infinity
LimitRSSSoft=infinity
LimitNOFILE=65535
LimitNOFILESoft=65535
LimitAS=infinity
LimitASSoft=infinity
LimitNPROC=1312
LimitNPROCSoft=1312
LimitMEMLOCK=65536
LimitMEMLOCKSoft=65536
LimitLOCKS=infinity
LimitLOCKSSoft=infinity
LimitSIGPENDING=1312
LimitSIGPENDINGSoft=1312
LimitMSGQUEUE=819200
LimitMSGQUEUESoft=819200
LimitNICE=0
LimitNICESoft=0
LimitRTPRIO=0
LimitRTPRIOSoft=0
LimitRTTIME=infinity
LimitRTTIMESoft=infinity

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ слуТбы с суффиксом .d/ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ с суффиксом .conf, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ для измСнСния настроСк ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

$ sudo mkdir /etc/systemd/system/redis-server.service.d

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π»ΠΈΠΌΠΈΡ‚ NOFILE.

$ cat <<EOF | sudo tee /etc/systemd/system/redis-server.service.d/limit_nofile.conf
[Service]
LimitNOFILE=98304
EOF
ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ CORE Π»ΠΈΡ‚ΠΈΡ‚
$ cat <<EOF | sudo tee /etc/systemd/system/redis-server.service.d/limit_core.conf
[Service]
LimitCORE=0
EOF

ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° systemd.

$ sudo systemctl daemon-reload
ПокаТСм ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π»ΠΈΠΌΠΈΡ‚Ρ‹ слуТбы:
$ sudo systemctl show redis-server | grep ^Limit
LimitCPU=infinity
LimitCPUSoft=infinity
LimitFSIZE=infinity
LimitFSIZESoft=infinity
LimitDATA=infinity
LimitDATASoft=infinity
LimitSTACK=infinity
LimitSTACKSoft=8388608
LimitCORE=0
LimitCORESoft=0
LimitRSS=infinity
LimitRSSSoft=infinity
LimitNOFILE=98304
LimitNOFILESoft=98304
LimitAS=infinity
LimitASSoft=infinity
LimitNPROC=1312
LimitNPROCSoft=1312
LimitMEMLOCK=65536
LimitMEMLOCKSoft=65536
LimitLOCKS=infinity
LimitLOCKSSoft=infinity
LimitSIGPENDING=1312
LimitSIGPENDINGSoft=1312
LimitMSGQUEUE=819200
LimitMSGQUEUESoft=819200
LimitNICE=0
LimitNICESoft=0
LimitRTPRIO=0
LimitRTPRIOSoft=0
LimitRTTIME=infinity
LimitRTTIMESoft=infinity
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ drop-in:
$ systemd-delta --type extended /etc/systemd/system/
[EXTENDED]   /usr/lib/systemd/system/redis-server.service β†’ /etc/systemd/system/redis-server.service.d/limit_core.conf
[EXTENDED]   /usr/lib/systemd/system/redis-server.service β†’ /etc/systemd/system/redis-server.service.d/limit_nofile.conf

2 overridden configuration files found.
ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ слуТбу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния.

$ sudo systemctl restart redis-server

 

You may also like

Leave a Comment