-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2010-01-30 17:53, Camaleón wrote:
El Sat, 30 Jan 2010 14:15:41 +0100, Carlos E. R. escribió:
Hay un truco para evitar que una aplicación se desborde tirando el sistema:
~> ulimit -v 300000 ~> gedit lo que sea.
Si supera esa cantidad de memoria, muere asesinada; y probablemente genere un dump que se pueda usar para reportar el bug (depende).
No se me había ocurrido que un "archivito" de 100 MiB pudiera generar tal colapso en un equipo con 8 GiB de ram y 4 núcleos O:-).
Probablemente no sea el fichero en sí, sino el contenido del fichero, que como es de sintaxis, intentará parsearlo para colorearlo y tal, y entrará en un bucle o algo. Podrías intentar verlo con strace y familia - y ojo, esa familia genera ficheros de texto muy grandes, por cierto. Yo tuve un problema similar con el kbabel, que me tomó varios gigas de memoria, teniendo sólo uno. O sea, swap...
Veamos como tengo los límites predeterminados:
stt008:~# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 73728 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 73728 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
Huys, esto parece que está un poco "ilimitao". ¿Cómo lo tenéis configurado en "suselandia"? :-)
Casi igual (32 bits): cer@bombadillo:~> ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 64217 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 64217 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
Pues es una buena idea. Usaré ese límite para hacer las pruebas, así al menos se suicidará el solito cuando llegue a los 3 GiB.
Hum, para 3 GiB sería "ulimit -v 3146000" ¿no? porque veo que está expresado en kbytes.
Sí, pero da igual que pongas 3 GiB exactos o aproximados. 3 GiB = 3072 MiB = 3145728 KiB = 3221225472 bytes. Hipótesis: en oS de 32 bits y 8 GiB, no mataría el sistema, al no poder reservar más de 4 GiB por proceso >:-) - -- Cheers / Saludos, Carlos E. R. (from 11.2 "Emerald" GM (bombadillo)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAktkiPkACgkQU92UU+smfQVjOQCcCk8Pa/fRNH0EfP66jKTGTTfz ow8An3CEUaVlYfkxDOVQotr4FV+nd/nN =+qAx -----END PGP SIGNATURE----- -- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org