Seguridad Wireless - Wifi

Equipos y materiales => Puntos de acceso, routers, switchs y bridges => Openwrt & LEDE => Mensaje iniciado por: vk496 en 01-05-2014, 13:25 (Jueves)

Título: Sobrecarga de memoria con Owncloud?
Publicado por: vk496 en 01-05-2014, 13:25 (Jueves)
Ayer estuve mas de una hora intentando meterle la última versión de Owncloud (la 6) al router My Net N750. Después de estar mucho tiempo tocando configuraciones y buscando info, conseguí llegar a la pantalla que te pide el usuario y la contraseña de administrador para finalizar la instalación.

Después de introducirla, la página empieza a cargarse, pero se me queda en esto y no hay forma de que funcione.

Citar
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 24576 bytes) in /mnt/sda1/html/web_root/apps/updater/appinfo/app.php on line 33

Tengo extroot con partición swap de 1gb

Nota: Recuerdo que la v4 si que llegó a funcionar, pero en esta no sé lo que le pasa...

Salu2
Título: Re: Sobrecarga de memoria con Owncloud?
Publicado por: jar229 en 01-05-2014, 15:15 (Jueves)
Tienes espacio libre en /mnt/sda1 ?
Título: Re: Sobrecarga de memoria con Owncloud?
Publicado por: vk496 en 01-05-2014, 15:56 (Jueves)
2 Tb  ;D
Título: Re: Sobrecarga de memoria con Owncloud?
Publicado por: Pteridium en 01-05-2014, 18:10 (Jueves)
Ayer estuve mas de una hora intentando meterle la última versión de Owncloud (la 6) al router My Net N750. Después de estar mucho tiempo tocando configuraciones y buscando info, conseguí llegar a la pantalla que te pide el usuario y la contraseña de administrador para finalizar la instalación.

Después de introducirla, la página empieza a cargarse, pero se me queda en esto y no hay forma de que funcione.

Citar
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 24576 bytes) in /mnt/sda1/html/web_root/apps/updater/appinfo/app.php on line 33

Nota: Recuerdo que la v4 si que llegó a funcionar, pero en esta no sé lo que le pasa...

Salu2
Échale un ojo a estos enlaces:
http://forum.owncloud.org/viewtopic.php?f=3&t=3158
http://forum.owncloud.org/viewtopic.php?f=23&t=10247
http://forum.owncloud.org/viewtopic.php?f=23&t=17525
Tienes espacio libre en /mnt/sda1 ?
2 Tb  ;D
Si estás usando extroot lo mejor es ponerle una partición de unos 512MB ya que cuanto mayor sea la partición más tira de RAM. Otra recomendación es deshabilitar journal si esta formateada en ext4 para aliviar carga de procesador y memoria y añadir la opción "sync", ya que si se deshabilita journal, en caso de que el router se apague por cualquier causa mientras escribe en el disco puede provocar efectos no deseados.
De todas maneras no parece que tu problema esté relacionado con lo que acabo de escribir.  ^-^
Título: Re: Sobrecarga de memoria con Owncloud?
Publicado por: meke en 02-05-2014, 10:15 (Viernes)
¿Cuanta memoria tienes asignada en PHP?

esa puede ser la causa del problema  ;)
Título: Re: Sobrecarga de memoria con Owncloud?
Publicado por: vk496 en 02-05-2014, 23:41 (Viernes)
Sii, era eso!!  :D :D ;D ;D >:( >:( >:(

Por defecto, se asigna un límite de 8M de Ram, con lo que no le llega ni para cargar la página del login.

Gracias @Pteridium, me sirvieron los links para encontrar lo que tenía que modificar

Le he puesto 40M, pero sigo viendo bastante lentitud....

Tengo swap, es recomendable dejar un límite de RAM o quitarlo por completo?

Salu2
Título: Re: Sobrecarga de memoria con Owncloud?
Publicado por: Pteridium en 03-05-2014, 15:36 (Sábado)
Le he puesto 40M, pero sigo viendo bastante lentitud....

Tengo swap, es recomendable dejar un límite de RAM o quitarlo por completo?

Salu2
Me olvidé de decir que al poner la opción sync hace que, sobre todo las escrituras, sean síncronas: si tiene que escribir algo lo hace inmediatamente, mientras que sin esa opción guarda esa operación y algunas otras más en un buffer o una caché para ejecutarlas todas juntas, lo que es más eficiente. La lentitud que observas seguramente se deberá a que, al tener sync activado, provoque muchas esperas en la CPU: el procesador tiene que esperar a que finalice cada operación de lectura/escritura, y es peor hacer muchas pequeñas que pocas grandes.
Quita sync y journal en fstab a ver si mejora, aunque un disco duro de 2TB puede hacerse algo "pesado" para el WD My Net N750 a pesar de tener un procesador potente y mucha memoria.

Felicidades a meke y a ti por encontrar el problema de Owncloud y solucionarlo.
Título: Re: Re: Sobrecarga de memoria con Owncloud?
Publicado por: vk496 en 03-05-2014, 17:38 (Sábado)
Ok, hoy por la tarde lo pruebo.

Se me olvidó decir las spec. del equipo:

El n750 tiene 12gb de extroot en ext2 (gracias por el consejo del journaling) y 1 gb de swap. Todo esto seria un usb.

En el otro puerto tiene el hdd de 2,67Tb en NTFS.

Durante la instalacion tuve problemas con los permisos debido a NTFS (solucionado) y a los locales de OpenWRT, el UTF-8 (sin solucionar, modifiqué el codigo fuente de OwnCloud para evitarlos). Solo queda el tema del rendimiento para tener un OwnCloud estable en OpenWRT

Salu2

Enviado desde mi GT-I5800 usando Tapatalk 2

Título: Re: Re: Sobrecarga de memoria con Owncloud?
Publicado por: Pteridium en 03-05-2014, 18:48 (Sábado)
Ok, hoy por la tarde lo pruebo.

Se me olvidó decir las spec. del equipo:

El n750 tiene 12gb de extroot en ext2 (gracias por el consejo del journaling) y 1 gb de swap. Todo esto seria un usb.

En el otro puerto tiene el hdd de 2,67Tb en NTFS.

Durante la instalacion tuve problemas con los permisos debido a NTFS (solucionado) y a los locales de OpenWRT, el UTF-8 (sin solucionar, modifiqué el codigo fuente de OwnCloud para evitarlos). Solo queda el tema del rendimiento para tener un OwnCloud estable en OpenWRT

Salu2

Enviado desde mi GT-I5800 usando Tapatalk 2


Con estos datos las cosas cambian mucho.

Por lo que mencionas con el pendrive de 16GB no hay problema; como mucho que ext2 es bastante viejo pero si te funciona y no da problemas perfecto. Ext2 no tiene journaling, y como es un pendrive quita la opción sync porque disminuye la vida media de las memorias flash.

Si usas NTFS en el disco duro se explica el bajo rendimiento: combinación linux y NTFS, sobre todo en escritura, es pesadísimo para la CPU. Ahí poco puedes hacer salvo resignarte: la mayoría de los sistemas de archivos, incluyendo FAT32, van bien con linux, salvo NTFS y algún otro.
Título: Re: Re: Sobrecarga de memoria con Owncloud?
Publicado por: jar229 en 03-05-2014, 19:45 (Sábado)
NTFS y OpenWrt, como ya te ha comentado Pteridium (está en las FAQ también) = bajo rendimiento y sobrecarga de CPU.

Enviado desde mi CUBOT GT99

Título: Re: Re: Sobrecarga de memoria con Owncloud?
Publicado por: meke en 03-05-2014, 23:47 (Sábado)
Durante la instalacion tuve problemas con los permisos debido a NTFS (solucionado) y a los locales de OpenWRT, el UTF-8 (sin solucionar, modifiqué el codigo fuente de OwnCloud para evitarlos). Solo queda el tema del rendimiento para tener un OwnCloud estable en OpenWRT
¿Como has solucionado los problemas del UTF-8? Yo uso la version 5 porque me ha sido imposible instalar la version 6.
He probado instalando kmod-nls-base y kmod-nls-utf8 pero no parece que sean esos los archivos locales...

Creo que la version 6 tiene un rendimiento superior y por eso quiero actualizar.

Muchas Gracias.

Un saludo ;)
Título: Re: Sobrecarga de memoria con Owncloud?
Publicado por: vk496 en 04-05-2014, 00:11 (Domingo)
De la forma mas simple poisble... cargarme todo lo que me toque los hue***  ;D >:(

He extirpado partes de código para que me deje pasar de la pantalla de error esa. Ahora estoy intentando instalarlo de nuevo en /root , porque la lie dejando el data directory en el hdd con NTFS

Sé que no es la forma mas bonita, pero es eso o recompilar todo el firmware con soporte UTF desde el kernel

Salu2

EDITO:

Vale, la acabo de liar parda. En mi intento de cambiar el directorio principal de OwnCloud desde /mnt/sda1 a /root, no me funciona lighttpd.

Después de cambiar la ruta en todos los config, cuando abro lighttpd, me suelta este mensaje de error:

Citar
/root/optware/usr/sbin/lighttpd: '/root/optware/usr/lib/libpcre.so.0' is not an ELF file
/root/optware/usr/sbin/lighttpd: can't load library 'libpcre.so.0'

Estoy intentando instalar desde 0 pero sigo teniendo el mismo problema con la primera linea del error añadida

Tengo el archivo optware.zip en /root (lo podeis bajar de aqui: http://dl.dropboxusercontent.com/s/9lo4181xfpr5nr6/optware.zip (http://dl.dropboxusercontent.com/s/9lo4181xfpr5nr6/optware.zip))

El script de instalación que uso es este:

Código: [Seleccionar]
#!/bin/sh
#written by Benson huang
#2013-09-13
#admin@gizfun.com


rm /usr/share/terminfo/terminfo


mountpoint='/root'
optware_root="$mountpoint/optware"
optware_pkg_url='http://dl.dropboxusercontent.com/s/9lo4181xfpr5nr6/optware.zip'
optware_pkg="${optware_pkg_url##*/}"
web_root="$mountpoint/html/web_root"
cms_url='http://download.owncloud.org/community/owncloud-6.0.3.tar.bz2'
cms_pkg="${cms_url##*/}"
cms_name="${cms_pkg%%-*}"

 [ -d "$mountpoint" ] || mkdir -p $mountpoint
 
  is_mounted() {

   mounted=$(mount | grep "$1 " -o)

   [ -n "$mounted" ] && return 0

  }
  
 install_cms() {

                                   echo "downloading $cms_name"
                                   [ -d $web_root ] || mkdir -p $web_root
                                   cd $web_root

                                   [ -f $cms_pkg ] || wget $cms_url

                                   case ${cms_pkg##*.} in
                                         'bz2')uncompress_cmd="$optware_root/usr/bin/tar -xjpvf $cms_pkg -C $web_root --strip-components=1";;
                                         'gz') uncompress_cmd="$optware_root/usr/bin/tar -xzpvf $cms_pkg -C $web_root --strip-components=1";;
                                        'zip')uncompress_cmd="$optware_root/usr/bin/unzip $cms_pkg";;

                                   esac

                                   [ -f $cms_pkg ] && echo "installing $cms_name" && $uncompress_cmd

                                   if [ "${cms_pkg##*.}" = 'zip' ] && [ -d $cms_name ];then
                                       mv $cms_name/* .
                                   fi

}



usbdisk=$(ls /dev/ | grep -o 'sd[a-z][1-9]'  | head -n1)

 ! is_mounted $mountpoint && echo "mounting your usb storage" && mount /dev/"$usbdisk" $mountpoint
      
      sleep 3

   is_mounted $mountpoint && echo "mounted successfully" || { echo "failed to mount usb storage" && exit 3; }
  
  
[ -d "$optware_root" ] || mkdir -p $optware_root
 [ -d "$web_root" ] || mkdir -p $web_root

  opt_installed=`du $optware_root -cm | awk '/total/ { print $1 }'`

      if [ $opt_installed -ge 10 ]

      then

       echo "packages seem having been installed already"
  read -p "do you want to repair it yes/no " confirmation
        
       case $confirmation in
             [nN][oO]|[nN]) exit 3;;  
  esac  
        
      else
        cd $optware_root
[ -f $optware_pkg ] || unzip /root/optware.zip -d ~/optware || { echo "failed";exit3; }
chmod +x /root/optware/usr/sbin/lighttpd
              
      fi
  
   cat >/etc/init.d/lighttpd <<EOL
#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org

SERVICE_USE_PID=1

START=50

start() {
        mkdir -m 0755 -p /var/log/lighttpd
        service_start $optware_root/usr/sbin/lighttpd -f  $optware_root/etc/lighttpd/lighttpd.conf
}

stop() {
        service_stop  $optware_root/usr/sbin/lighttpd
}
EOL

           chmod 755 /etc/init.d/lighttpd
 
sed -i '/export LD_LIBRARY_PATH=/d' /etc/profile
sed -i '/export PATH/i export LD_LIBRARY_PATH="'"$optware_root"'/usr/lib/lighttpd:'"$optware_root"'/usr/lib:'"$optware_root"'/lib"' /etc/profile


sed -i 's|\(export PATH=\).*|\1/bin:/sbin:/usr/bin:/usr/sbin:'"$optware_root"'/usr/bin:'"$optware_root"'/usr/sbin|' /etc/profile  

[ -f /etc/profile ] && . /etc/profile 1>/dev/null

for i in $optware_root/usr/share/*;do new_name=`basename $i`;ln -s $i /usr/share/"$new_name";done

sed -i 's|\(^[#]*cgi\.assign = \)(.*|\1( ".php"  => "'"$optware_root"'/usr/bin/php-cgi" )|' $optware_root/etc/lighttpd/lighttpd.conf
sed -i 's|\(^[#]*server.document-root = \).*|\1"'"$web_root"'"|' $optware_root/etc/lighttpd/lighttpd.conf
sed -i 's|.*\("bin-path" => \).*|\1"'"$optware_root"'/usr/bin/php-fcgi"|' $optware_root/etc/lighttpd/lighttpd.conf

[ -f /etc/php.ini ] || cp $optware_root/etc/php.ini /etc/

#line_num=$(grep -n 'include_path =' /etc/php.ini | cut -f1 -d:)

sed -i 's|\(^extension_dir = \).*|\1 "'"$optware_root"'/usr/lib/php"|' /etc/php.ini
sed -i 's|\(^include_path =\).*|\1 "'"$optware_root"'/usr/lib/php/PEAR"|' /etc/php.ini

             
           /etc/init.d/lighttpd start
 
  if pgrep -f $optware_root/usr/sbin/lighttpd >/dev/null 2>&1;then
 
          echo "lighttpd has started successfully!"
 
  install_cms
  fi
 


Sospecho que el problema se encuentra en $LD_LIBRARY_PATH /etc/profile


 :(