Si tenéis problemas de memoria en vuestro servidor linux, no hace falta generarse ningún fichero sh. Generando un comando en la consola, sabremos cual es el proceso que más memoria nos está consumiendo en nuestro servidor, ordenado por el que más memoria consume.
ps -eo size,pid,user,command –sort -size | awk ‘{ hr=$1/1024 ; printf(«%13.2f Mb «,hr) } { for ( x=4 ; x<=NF ; x++ ) { printf(«%s «,$x) } print «» }’ |cut -d «» -f2 | cut -d «-» -f1
Podemos ver que esto nos genera la siguiente salida:
0.00 Mb COMMAND
1222.30 Mb /usr/libexec/mysqld
444.44 Mb /usr/sbin/sw
296.90 Mb /usr/local/psa/admin/bin/modules/watchdog/monit
244.32 Mb rm
223.23 Mb /sbin/rsyslogd
223.10 Mb /usr/sbin/qpidd
173.78 Mb /usr/sbin/named
74.33 Mb auditd
21.53 Mb /usr/bin/sw
16.69 Mb /usr/bin/php
12.54 Mb /usr/sbin/httpd
12.30 Mb /usr/sbin/httpd
12.29 Mb /usr/sbin/httpd
12.27 Mb /usr/sbin/httpd
12.15 Mb /usr/sbin/httpd
12.15 Mb /usr/sbin/httpd
Con esto podemos ver mucha información muy importante….
Que el proceso que más consume es MySql, que cada petición http nos consume unos 12 megas y con esto obtener el MaxClients de la configuración de Apache, etc