Servidor SSH siempre disponible bajo carga pesada

10

¿Hay alguna manera de que mi servidor SSH, y todo lo que está debajo (incluido bash) pueda estar siempre disponible bajo una carga pesada?

Tal vez podría ser algún tipo de ruta crítica, todo en la memoria , con una CPU dedicada o algo así.

¿De qué manera podría tener un servidor siempre disponible a un costo mínimo, para investigar qué sucede en mi servidor?

azul112
fuente
¿Está preguntando sobre una manera de asegurarse de que puede iniciar sesión a través de SSH para solucionar / reparar un sistema que de otro modo no respondería? Si es así, esa es una respuesta que me gustaría ver. Anteriormente me había preguntado si había alguna forma de reservar un porcentaje de recursos de CPU / memoria para root de la misma manera que el 5% del espacio en disco está reservado para root cuando se llena un sistema de archivos ext2.
Anthony Geoghegan
@AnthonyGeoghegan Sí, eso es lo que estoy preguntando. Y eso es lo que estoy pensando, pero no estoy seguro de si hay una manera de hacerlo (o cómo).
blue112
Al mirar alrededor, noté que se hizo una pregunta similar hace unos años, pero no obtuve ninguna respuesta. Espero que esta pregunta obtenga una mejor respuesta.
Anthony Geoghegan
1
La respuesta probable es no. Sin embargo, hay cosas que puede hacer para ayudar a diagnosticar de forma remota los problemas que causan la carga pesada, como configurar el monitoreo remoto del sistema (Scout, monitoreo del servidor de NewRelic) y el registro remoto de syslog (PaperTrail, LogStash, rsyslog, etc.)
Creek
1
Los problemas "que no responden" más comunes que he visto se están quedando sin descriptores de archivos, pids y sockets. Incluso si tuviera alguna forma para que sshd mantuviera un grupo de procesos reservados, bash no podría bifurcar, por lo que terminaría con un shell inútil. Su mejor oportunidad sería un shell que tenga herramientas de depuración integradas, pero si no tiene identificadores de archivos, aún tendrá problemas para diagnosticar problemas.
Chris Mendez

Respuestas:

4

Para utilizar completamente el sistema, presenta a todos los servicios los mismos recursos y el núcleo intentará mantenerlos a todos funcionando con la misma prioridad. Puede establecer el nivel de prioridad del proceso sshd en el nivel más alto. (A medida que baja, la prioridad aumenta)

Ver aquí: /server/355342/prioritise-ssh-logins-nice

Eso no resolverá su problema con la memoria. Debería usar cgroups para asignar al proceso sshd su propia memoria reservada para manejar eso.

Limite el uso de memoria para un solo proceso de Linux

DM.
fuente