Cómo eliminar el límite en el tamaño del archivo de volcado del núcleo

11

Me gustaría aumentar el límite de tamaño máximo para los archivos de volcado de núcleo como usuario normal. Usando bash, puedo configurarlo así:

$ ulimit -c 100

que funciona bien la primera vez que lo configuré. Sin embargo, la próxima vez que use este comando, solo puedo establecer este límite en un valor que no exceda 100. En general, puedo establecerlo en un valor arbitrario solo la primera vez que uso este comando desde el inicio de sesión. Las siguientes veces, los valores posibles están limitados desde arriba por el valor establecido inicialmente.

¿Cómo puedo hacer que esto sea persistente en múltiples usos del comando?

Peter Bašista
fuente

Respuestas:

9

Según la respuesta de @Peter Bašista en su propia pregunta:

Al principio, pensé que esto era un error y por eso comencé esta pregunta. Pero resultó que es simplemente un comportamiento perfectamente correcto. Resulta que el dicho RTFM se aplica aquí también.

Como se man bashrevela, el ulimitcomando integrado tiene parámetros adicionales: -Hpara el establecimiento de los llamados duros límites y -S para el establecimiento de los llamados blandos límites. Por otra parte, si se da ninguna de estas opciones, el comportamiento por defecto es que ulimittrata de establecer tanto el suave y los límites fijos con el mismo valor a la vez. Y ese fue el problema.

Ahora hay una cita de la bashpágina del manual:

Un usuario no root no puede aumentar un límite rígido una vez que se establece;

Entonces, ahí vamos. El uso correcto del ulimitcomando siempre debe tener esto en mente. Lo más importante, nunca debe usarse sin -Ho -Sopciones a menos que esté seguro de saber lo que está haciendo (que en ese momento yo no era obviamente).

Lo que debería haber hecho es algo como esto:

Después de iniciar sesión: ulimit -H -c unlimited

Cada vez que quiero cambiar el límite máximo de tamaño de volcado del núcleo ulimit -S -c <new size>

Entonces, eso es todo. Espero que pueda ayudar a alguien que tenga problemas con un problema similar.

Kevin Bowen
fuente