GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo establecer límites de recursos para un proceso con Systemd en CentOS/RHEL 7 y 8

Algunas aplicaciones o procesos específicos pueden necesitar valores de recursos más altos que los valores predeterminados asignados por systemd. Es posible anular los límites de recursos predeterminados asignados por systemd.

Básicamente, systemd establece los límites predeterminados para cualquier proceso cuando se inicia. Por ejemplo:

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

Del ejemplo anterior, la memoria máxima bloqueada es 64K para el PID 1696, y para algún proceso o aplicación esto puede no ser suficiente. Hay un par de formas de cambiar esto.

Método 1:cambiar globalmente

Cambie el valor predeterminado globalmente. Esto tendrá efecto para todo el proceso. Edite el archivo /etc/systemd/system.conf y cambie el valor allí.

1. Si marca, de forma predeterminada, este valor se comentará y, por lo tanto, se aplicarán los 64 K predeterminados.

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

2. Para cambiar esto, edite el archivo y elimine el comentario de la línea de recurso deseada y agregue el valor deseado. Por ejemplo.

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

Esto cambiará la memoria máxima bloqueada para el proceso "todos" a 128 K cuando se inicie.

Método 2:cambio para un servicio o proceso específico

Si el requisito es cambiar el límite de recursos para cualquier proceso o aplicación específica, entonces el siguiente método ayudará.

1. Para cambiar el valor del recurso para cualquier proceso/servicio específico.

Esto se puede hacer editando el archivo de unidad de servicio y agregando el detalle del límite allí con la sección de servicio. Ejemplo como se muestra a continuación para el servicio "prueba"

# 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 el archivo de la unidad de servicio anterior, la nueva línea "LimitMEMLOCK=128000" asignará 128K Max Locked Memory para el proceso específico cuando comience. Todos los demás procesos tendrán el valor predeterminado según systemd.


Cent OS
  1. Cómo configurar la afinidad de la CPU para el proceso SYSTEMD en CentOS/RHEL 7

  2. Cómo establecer variables de entorno para un servicio systemd en CentOS/RHEL 7

  3. Cómo depurar el proceso de arranque de systemd en CentOS/RHEL 7 y 8

  4. Cómo enmascarar o desenmascarar un servicio en CentOS/RHEL 7 y 8

  5. Cómo depurar el proceso de arranque de systemd en CentOS/RHEL 7 y 8

Cómo instalar y configurar un servicio de ejemplo con xinetd en RHEL 8/CentOS 8 Linux

Cómo establecer límites de recursos para un plan de servicio de Plesk

Cómo configurar o cambiar el nombre de host en CentOS 7 / RHEL 7

Cómo configurar/cambiar el nombre de host en CentOS 8 / RHEL 8

Cómo configurar una VPN basada en IPsec con Strongswan en CentOS/RHEL 8

Cómo establecer valores ulimit para un servicio systemd