Consejo de rendimiento: Bloquea la VRAM/RAM del modelo local con LimitMEMLOCK=infinity

✍️ OpenClawRadar📅 Publicado: 16 de septiembre de 2026🔗 Source
Ad

Si tu modelo local cabe dentro de la VRAM y la RAM combinadas, puedes mantener la memoria del proveedor del modelo residente añadiendo LimitMEMLOCK=infinity bajo el encabezado [Service] de la unidad systemd de tu proveedor. El kernel entonces deja de paginar los pesos del modelo al disco, que es de donde vienen la mayoría de las ralentizaciones una vez que un modelo está cargado.

El archivo de unidad

Publicado en r/openclaw como ejemplo funcional para LM Studio (edita las rutas y los nombres de usuario para que coincidan con tu instalación):

[Unit]
Description=LM Studio Server
RequiresMountsFor=/home

[Service] LimitMEMLOCK=infinity Type=oneshot RemainAfterExit=yes User=******** Environment="HOME=/home/" ExecStartPre=/home//.lmstudio/bin/lms daemon up ExecStartPre=/home//.lmstudio/bin/lms load text-embedding-bge-large-en-v1.5 --yes ExecStartPre=/home//.lmstudio/bin/lms load qwen3.6-35b-a3b-uncensored-hauhaucs-aggressive --yes ExecStart=/home//.lmstudio/bin/lms server start ExecStop=/home//.lmstudio/bin/lms daemon down

[Install] WantedBy=multi-user.target

Ad

Qué hace cada parte

  • LimitMEMLOCK=infinity — elimina el límite predeterminado de mlock por proceso, de modo que el modelo cargado se puede mantener fuera del swap/paginación.
  • ExecStartPre con lms daemon up — inicia el demonio de LM Studio antes que cualquier otra cosa.
  • lms load <model> --yes — precarga cada modelo al iniciar el servicio. El ejemplo carga un modelo de embeddings (text-embedding-bge-large-en-v1.5) y un modelo de chat (qwen3.6-35b-a3b-uncensored-hauhaucs-aggressive).
  • lms server start como ExecStart — levanta el servidor compatible con OpenAI.
  • lms daemon down como ExecStop — limpia al apagar.
  • RequiresMountsFor=/home — asegura que la partición home que contiene los archivos del modelo esté montada antes de que se inicie el servicio.
  • Type=oneshot + RemainAfterExit=yes — la unidad se considera activa después de que terminan los comandos de inicio, lo que encaja con un demonio que la CLI lms gestiona por separado.

Advertencia

El consejo asume explícitamente que el modelo cabe en VRAM+RAM. Si no es así, bloquear la memoria es la palanca equivocada — solo estarás empujando el problema a otro lugar. Una vez que cabe, la ganancia está en evitar los bloqueos inducidos por la paginación durante la inferencia.

Para aplicarlo: coloca el bloque en tu archivo de unidad, luego ejecuta systemctl daemon-reload y reinicia el servicio. Los desarrolladores que ejecutan LM Studio sin interfaz gráfica como servicio systemd son el público objetivo aquí; la misma idea se aplica a cualquier proceso proveedor cuyos pesos quieras fijar en memoria.

📖 Read the full source: r/openclaw

Ad

👀 Ver también