Cómo reducir las operaciones de lectura / escritura en Raspberry Pi
Introducción
- ¿Sería posible construir una Raspberry Pi desde cero?
- ¿Cuáles son los mejores casos de uso para una Raspberry Pi en una tienda comercial local?
- ¿Cuáles son las cosas en Python que debería aprender para la interacción de hardware con Raspberry Pi?
- ¿Cuáles son algunos buenos proyectos con Raspberry pi para un estudiante de secundaria?
- ¿Cuáles son los mejores centros de formación en Bangalore para aprender Raspberry pi?
Por lo tanto, en Internet, puede encontrar artículos sobre el hecho de que en las unidades flash Raspberry “en vivo” durante 2-3 meses, después de lo cual están en mal estado. Soluciones sugeridas: reemplace la tarjeta microSD estándar con un HDD USB. La solución es simple, confiable y aumenta la velocidad de lectura / escritura. Pero, ¿por qué las unidades flash “mueren” tan rápidamente? ¿Pueden los mismos factores dañar el disco duro? ¡Y entonces proceda!
Un poco sobre unidades flash
Las unidades flash tienen un número limitado de ciclos de grabación. Entonces, si Linux es constantemente algo sobre lo que escribir, puede romperse prematuramente. Los discos duros funcionan con un principio diferente. Pero para ellos, las pequeñas operaciones de lectura / escritura tampoco son muy útiles. El cabezal del disco duro puede estacionarse si no se usa durante un cierto período de tiempo, esto puede hacerlo el sistema y también puede almacenarse en la plancha. En el caso de pequeñas operaciones de lectura / escritura, el disco duro no puede estacionar permanentemente la cabeza (no es crítico) o estacionar la cabeza, y luego comienza a leer / escribir (eso es peor).
La información está escrita en páginas. El tamaño de página habitual es de 4 KB. Entonces, si queremos escribir un byte, se ajustará al búfer o se escribirá 4 KB. Si el búfer está lleno, la página se graba y la grabación adicional pasa a la página siguiente, que está en la RAM.
La grabación de pequeñas porciones de información se usa cuando se registra en diario un sistema de archivos (permite no perder información en caso de falla, por ejemplo, apagado), así como las funciones de registro (guardar información sobre eventos particulares del sistema o eventos del programa). En frambuesa, el registro lo realiza Syslog
- En Raspbian , hay dos demonios que se pueden deshabilitar para reducir la carga en el medio de almacenamiento raíz. Una vez desactivados, puede ganar en las operaciones de grabación, pero perder en las posibilidades de fiabilidad y recuperación. Este es el sistema de archivos que registra el demonio y Syslog. Por lo tanto, si hay datos valiosos que se almacenarán en el disco raíz, entonces el servicio de registro no debe desactivarse. Si la frambuesa se usa como un juguete o si existe la oportunidad de reemplazar rápidamente el disco principal, el registro del sistema de archivos se puede deshabilitar. El registro es similar, si no sabe por qué es necesario, es suficiente decir que si algo no funciona, entonces el mal funcionamiento debe buscarse inicialmente en los registros. Si desea hacer una pregunta a alguien en el foro, lo más probable es que se le pida que elimine los registros. Por lo tanto, si todo funciona o le resulta más fácil reinstalar el sistema que averiguar qué se “vierte”, puede apagar los registros de forma segura.
Puede usar la utilidad superior para ver el acceso a las unidades. Para hacer esto, ejecútelo con los siguientes parámetros:
sudo iotop -o -a
Instalación iotop:
sudo apt-get install iotop
Deshabilitar el registro
Para deshabilitar el registro, abra:
sudo nano /etc/rsyslog.conf
Y comente dos trazos en la sección MÓDULOS:
$ ModLoad imuxsock # proporciona soporte para el registro del sistema local $ ModLoad imklog # proporciona soporte de registro del kernel
Debe tener un aspecto como este:
# /etc/rsyslog.conf Archivo de configuración para rsyslog. # # # Para más información, ver # /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html ################# #### MÓDULOS #### ################# # $ ModLoad imuxsock # proporciona soporte para el registro del sistema local # $ ModLoad imklog # proporciona soporte para el registro del kernel # $ ModLoad immark # proporciona --MARK-- capacidad de mensaje # proporciona la recepción de syslog UDP # $ ModLoad imudp # $ UDPServerRun 514 # proporciona recepción TCP syslog # $ ModLoad imtcp # $ InputTCPServerRun 514########################### #### DIRECTIVAS GLOBALES #### ########################### # # # Utilice el formato de marca de tiempo tradicional. # Para habilitar marcas de tiempo de alta precisión, comente la siguiente línea. # # $ ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # # # Establecer los permisos predeterminados para todos los archivos de registro. # # $ FileOwner root $ FileGroup adm $ FileCreateMode 0640 $ DirCreateMode 0755 $ Umask 0022 # # # Dónde colocar archivos de spool y estado # # $ WorkDirectory / var / spool / rsyslog # # # Incluir todos los archivos de configuración en /etc/rsyslog.d/ # # $ IncludeConfig /etc/rsyslog.d/*.conf ############### #### REGLAS #### ############### # # # Primero algunos archivos de registro estándar. Registro por instalación. # # auth, authpriv. * /var/log/auth.log *. *; auth, authpriv.none - / var / log / syslog # cron. * /var/log/cron.log daemon. * - / var / log / daemon.log kern. * - / var / log / kern.log lpr. * - / var / log / lpr.log mail. * - / var / log / mail.log usuario. * - / var / log / user.log # # # Registro para el sistema de correo. Dividirlo para que # es fácil escribir scripts para analizar estos archivos. # # mail.info - / var / log / mail.info mail.warn - / var / log / mail.warn mail.err /var/log/mail.err # # # Registro para el sistema de noticias INN. # # news.crit /var/log/news/news.crit news.err /var/log/news/news.err news.notice - / var / log / news / news.notice # # # Algunos & quot; catch-all & quot; archivos de registro. # # *. = depurar; \ auth, authpriv.none; \ news.none; mail.none - / var / log / debug *. = info; *. = aviso; *. = advertir; \ auth, authpriv.none; \ cron, daemon.none; \ mail, news.none - / var / log / messages # # # Las emergencias se envían a todos los que han iniciado sesión. # # * .emerg: omusrmsg: * # # # Me gusta que los mensajes se muestren en la consola, pero solo en un servidor virtual # consola generalmente dejo inactivo. # # # daemon, mail. *; \ # noticias. = crítico; noticias. = err; noticias. = aviso; \ # *. = depurar; *. = info; \ # *. = aviso; *. = advertir / dev / tty8 # La tubería / dev / xconsole nombrada es para la utilidad 'xconsole'. Para usarlo # debe invocar 'xconsole' con la opción '-file':
# # # $ xconsole -file / dev / xconsole [...] # # # NOTA: ajuste la lista a continuación, o se volverá loco si tiene un razonable # sitio ocupado .. # # daemon. *; mail. *; \ news.err; \ *. = depurar; *. = info; \ *. = aviso; *. = advertir | / dev / xconsole
Después de reiniciar, el sistema dejará de iniciar sesión. Verificamos:
sudo iotop -o -a
La salida ya no es R Syslog.
Para leer un artículo completo, siga el siguiente enlace:
Cómo reducir las operaciones de lectura / escritura en Raspberry Pi