40 votos

¿Cómo puedo aumentar el /proc/pid/cmdline 4096 bytes límite?

Para mi las aplicaciones Java con muy largas rutas de clases, no puedo ver la clase principal especificado cerca de la final de la arg lista al uso de ps. Creo que esto proviene de mi Ubuntu del sistema de límite de tamaño en /proc/pid/cmdline. ¿Cómo puedo aumentar este límite?

27voto

Kevin Cross Puntos 168

Para analizar los procesos Java jps es muy útil.

Esto le dará la clase principal y jvm args:

jps -vl | grep <pid>

18voto

Robert Gamble Puntos 41984

No se puede cambiar esta dinámica, el límite está codificada en el núcleo para PAGE_SIZE en fs/proc/base.c:

 274        int res = 0;
 275        unsigned int len;
 276        struct mm_struct *mm = get_task_mm(task);
 277        if (!mm)
 278                goto out;
 279        if (!mm->arg_end)
 280                goto out_mm;    /* Shh! No looking before we're done */
 281
 282        len = mm->arg_end - mm->arg_start;
 283 
 284        if (len > PAGE_SIZE)
 285                len = PAGE_SIZE;
 286 
 287        res = access_process_vm(task, mm->arg_start, buffer, len, 0);

6voto

Matt Puntos 953

Usted puede utilizar jconsole para obtener acceso a la línea de comando original sin los límites de longitud.

-3voto

caskey Puntos 5581

Tal vez la 'w' parámetro para ps es lo que quieres. Agregar dos 'w' para una mayor producción. Se dice ps ignorar el ancho de la línea de la terminal.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X