GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come impostare i limiti delle risorse per un processo con Systemd in CentOS/RHEL 7 e 8

Alcune applicazioni o processi specifici potrebbero richiedere valori di risorse più elevati rispetto ai valori assegnati da systemd predefiniti. È possibile ignorare i limiti di risorse predefiniti assegnati da systemd.

Fondamentalmente systemd imposta i limiti predefiniti per qualsiasi processo all'avvio. Ad esempio:

# cat /proc/1696/limits | grep "Max locked memory"
Max locked memory         65536                65536                bytes

Dall'esempio sopra, la Memoria massima bloccata è 64 KB per il PID 1696 e per alcuni processi o applicazioni questo potrebbe non essere sufficiente. Ci sono un paio di modi per cambiarlo.

Metodo 1 – Cambia a livello globale

Modifica il valore predefinito a livello globale, ciò avrà effetto per tutti i processi. Modifica il file /etc/systemd/system.conf e modifica il valore lì.

1. Se si seleziona, per impostazione predefinita questo valore verrà commentato e quindi sarà attivo il valore predefinito 64K.

# cat /etc/systemd/system.conf | grep DefaultLimitMEMLOCK
#DefaultLimitMEMLOCK=

2. Per modificare questo, modificare il file e decommentare la riga della risorsa desiderata e aggiungere il valore desiderato. Ad esempio.

# vi /etc/systemd/system.conf
DefaultLimitMEMLOCK=128000

Ciò cambierà la memoria bloccata massima per il processo "tutto" a 128 K all'avvio.

Metodo 2:modifica per servizio o processo specifico

Se il requisito è modificare il limite di risorse per qualsiasi processo o applicazione specifico, il metodo seguente sarà di aiuto.

1. Per modificare il valore della risorsa per qualsiasi processo/servizio specifico.

Questo può essere fatto modificando il file dell'unità di servizio e aggiungendo i dettagli del limite lì con la sezione del servizio. Esempio come di seguito per il servizio "test"

# vi test.service
[Unit]
Description=TEST SERVICE
Wants=network.target network-online.target autofs.service
After=network.target network-online.target autofs.service

[Service]
Type=simple
User=farmer
ExecStart=/path/to/service/executable <>
LimitMEMLOCK=128000
PIDFile=/var/run/test.pid

[Install]
WantedBy=multi-user.target

Con il file dell'unità di servizio sopra, la nuova riga "LimitMEMLOCK=128000" assegnerà 128K Max di memoria bloccata per il processo specifico all'avvio. Tutti gli altri processi avranno il valore predefinito come da systemd.


Cent OS
  1. Come impostare children-max per il servizio udev in CentOS/RHEL 7

  2. Come controllare la risorsa (cgroup) con systemd per il gruppo di processi utente in CentOS/RHEL 7

  3. Come rigenerare initramfs e vmlinuz per il kernel di salvataggio con il kernel corrente in CentOS/RHEL 7

  4. Come modificare i limiti del semaforo del kernel in CentOS/RHEL

  5. Come disabilitare il servizio rpc.quotad in CentOS/RHEL 6 e 7

Come installare e configurare un servizio di esempio con xinetd su RHEL 8 / CentOS 8 Linux

Come impostare i limiti delle risorse per un piano di servizio Plesk

Come impostare/modificare il nome host in CentOS 8 / RHEL 8

Come configurare una VPN basata su IPsec con Strongswan su CentOS/RHEL 8

Come eseguire il debug del processo di avvio di sistema in CentOS/RHEL 7 e 8

Come mascherare o smascherare un servizio in CentOS/RHEL 7 e 8