Como posso prolongar a vida do meu cartão SD?

251

Não gosto muito de comprar um disco rígido USB, mas sei que os cartões SD não são adequados para muitas repetições de leitura e gravação.

Existem medidas que eu posso tomar para prolongar a vida útil do meu cartão SD enquanto ele está sendo usado pelo meu Raspberry Pi?

Altamente Irregular
fonte
19
Se você escrever a ele a toda velocidade, dia e noite, 24/7 - 16GB durará cerca de 30 dias. No uso normal, você pode esperar cerca de 27 anos com base em 10.000 ciclos de gravação. Se ele usa 100.000 ciclos de gravação ao longo de 50 anos. Quanto maior o cartão mais tempo vai durar graças a lógica desgaste nivelamento inteligente
Piotr Kula
Uau, isso é ótimo saber, eu não tinha ideia do seu primeiro ponto de 16gb sd com duração de 30 dias com velocidade máxima de gravação. Suponho que gravar vídeo constantemente no sd e depois transferi-lo não é a melhor ideia.
SSH Esta
3
Com todos os resultados de desempenho obtidos com essas soluções, por que não pagar apenas US $ 10 a cada poucos anos?
Alexander

Respostas:

243

Esses métodos devem aumentar a vida útil do cartão SD, minimizando o número de leituras / gravações de várias maneiras:

Desativar Troca

Trocar é o processo de usar parte do cartão SD como memória volátil. Isso aumentará a quantidade de RAM disponível, mas resultará em um número alto de leituras / gravações. É improvável aumentar significativamente o desempenho.

Desative a troca com o swapoffcomando:

sudo swapoff --all

Você também deve impedir que ele volte após uma reinicialização:

  • Para o Raspbian, que usa o dphys-swapfile para gerenciar um arquivo de troca (em vez de uma partição de troca "normal"), você pode simplesmente sudo apt-get remove dphys-swapfileremovê-lo permanentemente. Melhor remover porque definir o CONF_SWAPSIZE0, conforme explicado nesta resposta , parece não funcionar e ainda cria um arquivo de troca de 100 MB após a reinicialização.
  • Para outras distribuições que usam uma partição swap em vez de um arquivo swap, remova a linha apropriada de /etc/fstab

Desabilitando o Diário no Sistema de Arquivos

Usando um journaling, como ext3ou ext4sem um jornal é uma opção para diminuir a leitura / escreve. A desvantagem óbvia de usar um sistema de arquivos com o diário desativado é a perda de dados como resultado de uma desmontagem desagradável (ou seja, após falha de energia, bloqueio do kernel, etc.).

Você pode desativar o registro no diário ext3montando-o como ext2.

Você pode desativar o registro em diário ext4em uma unidade desmontada como esta:

tune4fs -O ^has_journal /dev/sdaX
e4fsck –f /dev/sdaX
sudo reboot

The noatime Mount Flag

Atribua o sinalizador de montagem noatime às partições residentes no cartão SD, adicionando-o à seção de opções da partição em /etc/fstab.

A leitura de acessos ao sistema de arquivos não resultará mais em uma atualização das informações atime associadas ao arquivo. A importância da configuração noatime é que ela elimina a necessidade do sistema de fazer gravações no sistema de arquivos para arquivos que estão simplesmente sendo lidos. Como as gravações podem ser um pouco caras, como mencionado na seção anterior, isso pode resultar em ganhos de desempenho mensuráveis. Observe que as informações de tempo de gravação em um arquivo continuarão sendo atualizadas sempre que o arquivo for gravado com esta opção ativada.

Diretórios na RAM

Diretórios altamente usados ​​como /var/tmp/e possivelmente /var/logpodem ser realocados para a RAM da /etc/fstabseguinte maneira:

tmpfs /var/tmp tmpfs nodev,nosuid,size=50M 0 0

Isso permitirá /var/tmpusar 50 MB de RAM como espaço em disco. O único problema ao fazer isso é que qualquer unidade montada na RAM não persistirá após uma reinicialização. Portanto, se você montar /var/loge seu sistema encontrar um erro que faz com que seja reiniciado, não será possível descobrir o porquê.

Diretórios no disco rígido externo

Você também pode montar alguns diretórios em um disco rígido USB persistente. Mais detalhes sobre isso podem ser encontrados nesta pergunta .

O Raspberry Pi também pode inicializar sua partição raiz a partir de uma unidade externa. Isso pode ser via USB ou Ethernet e significa que o cartão SD será usado apenas para delegar a diferentes dispositivos durante a inicialização. Isso requer um pouco de hacking do kernel para ser realizado, pois não acho que o kernel padrão suporte o armazenamento USB. Você pode encontrar mais informações nesta pergunta ou nesta postagem de blog externo .

Jivings
fonte
17
noatimedeve ser um padrão.
Alex Chamberlain
3
@AlexChamberlain: noatimenão é o padrão, pelo menos no Arch.
Jivings
20
Está nas versões mais recentes do Raspian.
Oli
4
De acordo com isso: superuser.com/a/168126/105936 , não é uma ótima idéia colocar /var/tmpna memória. Talvez você tenha confundido isso /tmp.
Inf3rno
1
Observe que, se noatimecausar problemas, você também pode usar o relatimeque reduz significativamente as gravações em disco na leitura, em vez de removê-las completamente.
21816 Mark Booth
79

Se as opções fornecidas pelo Jivings não forem possíveis para o seu aplicativo, outra opção para prolongar sua vida substancialmente é usar um cartão SD muito maior do que o necessário.

Deixe bastante espaço livre

A maioria dos cartões SD decentes usa algoritmos de nivelamento de desgaste para minimizar o número de vezes que cada bloco é gravado; portanto, se o cartão SD for maior do que o necessário, o desgaste poderá ser espalhado por uma área muito maior de espaço livre.

Parte do motivo pelo qual o nivelamento de desgaste é tão importante é que alguns sistemas de arquivos, como o FAT (o formato padrão para muitos cartões SD), martelam os mesmos setores repetidamente.

Para obter mais informações, consulte as respostas para a pergunta. É verdade que um cartão SD / MMC usa nivelamento com seu próprio controlador? no Electronics Stack Exchange , especialmente esta resposta .

Uma estatística interessante dessa resposta é que

pegar um cartão de 2 GB e gravá-lo começando a terminar várias vezes em média cerca de 10 TB antes que o cartão esteja morto e não seja mais gravável.

Mas o mais preocupante é que

Os cartões SD não informam quando os dados estão com problemas, ou seja, não retornam erros de E / S como o disco rígido de um PC.

Isso pode tornar sua escolha do sistema de arquivos importante se você precisar garantir um armazenamento confiável.

Uma observação final: dobrar o tamanho do cartão SD pode mais que dobrar a longevidade dele.

Ou seja, se você tiver um cartão SD de 2 GB com 200 MB livres, alternar para um cartão de 4 GB fornecerá 11 vezes o espaço livre, usará a capacidade de nivelamento e, portanto, longevidade, enquanto mudar para um cartão de 16 GB oferecerá 71 vezes mais espaço.

Mark Booth
fonte
Para permitir que o cartão SD realize o nivelamento de desgaste em primeiro lugar, é necessário saber quais blocos são realmente livres para isso. fstrim poderia ajudar a fazê-lo.
JimmyB
O corte não é necessário, mas sem ele um bloco é reutilizado apenas quando o SO reutiliza um bloco em vez de parar de usá-lo. Tanto quanto sei, o trim é uma função SSD e não é suportada por cartões SD, que são acessados ​​por um protocolo muito mais simples.
Mark Booth
@ Mark, seu primeiro ponto é exatamente correto. - Quanto ao seu segundo ponto, existe o MMC_ERASEcomando (opcional) definido em algum lugar do padrão MMC / SD para esse fim. Apesar de todos os cartões SD, tentei apenas um (o que veio com o meu Pi-) realmente o suporta.
JimmyB
O tamanho da partição importa neste caso? Quero dizer, se eu tiver um cartão de 16 GB e um sistema com uma partição ext4 exclusiva de 4 GB, ele também aproveitará os 12 GB restantes para o nivelamento de desgaste?
Natenho 22/09/2015
É difícil dizer ao @natenho sim para um cartão SD com bom nível de desgaste, não para um com uma implementação ruim (ou não).
Mark Booth
25

A única coisa que vejo é NÃO trocar no cartão SD.

Trocar o cartão SD é provavelmente o que pode matar o seu cartão SD.

Se você precisar de mais memória RAM, tente usar o zram, há uma publicação em http://raspberry.pi.gw.gd/t50-Using-ZRAM.html, fornecendo alguns detalhes sobre o uso do ZRAM no raspberry pi

Mais informações sobre o zram em http://en.wikipedia.org/wiki/ZRam

Além disso, sabe-se que os cartões SD mais recentes são muito mais sólidos do que os mais antigos. Comprar um cartão SD classe 10 novinho em folha é provavelmente uma boa opção, pois você deseja vê-lo durar muito tempo.

neofutur
fonte
14

Você pode tentar executar o Puppy Linux, que é completamente residente em ram. É muito pequeno e incrivelmente rápido, pois é executado completamente na memória, copiando a imagem de armazenamento (no cartão SD no seu caso) para a RAM na inicialização e, em seguida, liberando as alterações periodicamente de volta ao armazenamento. A frequência desse salvamento é controlada pelo usuário, incluindo manualmente.

O Puppy usa o sistema de arquivos aufs em camadas ou o unionfs mais antigo com qualquer um dos sistemas de arquivos Linux padrão como ext3 ou ext4. Também pode residir em partições FAT ou NTFS.

Existem pelo menos algumas versões do Puppy projetadas especificamente para o RPi, uma delas criada pelo "Puppy Master", Barry Kauler.

Para mais, acesse http://puppylinux.org/wikka/Puppi

DocSalvager
fonte
12

A maioria das pessoas aqui fala sobre suas suposições e não fomenta a experiência pessoal.

Eu tenho usado meu RaspberryPi com RasPBX como um painel de controle da empresa com 8 extensões e um fax. Temos 3 troncos baseados em IP e um telefone fixo através do LinkSYS SPA3000. Levou apenas 1 mês para o meu SDCard inicial de 4 GB da Kingston morder a poeira.

Eu ainda estava experimentando e não tinha um backup. Aliás, o Pi está conectado a um no-break da APC. Em seguida, reconfigurei todo o RasPBX do zero, mas desta vez movi / var / log e / var / lib / mysql para o NAS corporativo. Este SD ainda estava OK após 3 meses.

Então tivemos um verão muito quente. Durante o terceiro mês, o pi começou a não detectar a Ethernet do nada. Então, um dia, descobri que todos os Leds são escuros e não inicializavam.

Substituí o Pi por um novo e pronto para uso. O que estava fora de ordem começou a funcionar após esfriar, mas funciona bastante irregular e, quando inicializado no RasPBX, o modo de vídeo não muda para gráficos, permanece em 80 * 25 de texto. Foi realmente uma bagunça. Eu pedi um conjunto de dissipador de calor desde então. O novo Pi trabalha com ele agora há mais de 2 meses 24/7.

Portanto, se você usar o pi em um ambiente 7/24, não seja barato - compre um dissipador de calor e evite usar / var / log e outros diretórios ocupados no SD CARD.

Kerem Ersoy
fonte
Certificar-se de que var / log esteja em um dispositivo adequado soa como um excelente conselho. Por falta de interesse, naquele mês problemático inicial, você também estava armazenando caixas de correio de voz no cartão USD? Só estou me perguntando se cartões uSD de alta resistência, como os projetados para o Dash Cam, podem ser melhores para minha implantação do RasPBX se eu decidir ativar as caixas de correio de voz.
Mark Booth
11

Comparei todas as soluções do utilitário TMPFS e a melhor resposta é uma síntese do script prepare-dirs (consulte http://grenzdebiel.dyndns.org/wordpress/?p=98 ) com um / etc / defaults / tmpfs adequado ( (consulte http://www.a-netz.de/2013/02/ramdisks-for-the-raspberry/ ).

As etapas necessárias para executar no raspbian são:

1. edite /etc/default/tmpfse defina :

RAMLOCK=yes
RAMSHM=yes
RAMTMP=yes

Eu recomendo os seguintes tamanhos:

TMPFS_SIZE=10%VM
RUN_SIZE=10M
LOCK_SIZE=5M
SHM_SIZE=10M
TMP_SIZE=25M

2. habilite diretórios adicionais usando / etc / fstab

tmpfs   /var/log                tmpfs   size=20M,defaults,noatime,mode=0755 0 0 
tmpfs   /var/cache/apt/archives tmpfs   size=100M,defaults,noexec,nosuid,nodev,mode=0755 0 0
tmpfs   /var/spool/cups         tmpfs   size=100M,defaults,noatime,mode=0755 0 0
tmpfs   /var/spool/cups/tmp     tmpfs   defaults,noatime,mode=0755 0 0

3. use o script /etc/init.d/prepare-dirspara criar diretórios ausentes /var/logpara que todos os daemons iniciem

Veja no final o que ele contém no meu caso.

4. Torne o script executável chmod 755 /etc/initd/prepare-dirs.

5. Certifique-se de que o script seja iniciado primeiro na inicialização antes do início de seus daemons: update-rc.d prepare-dirs defaults 01 99

conteúdo de /etc/init.d/prepare-dir:

#!/bin/bash
#
### BEGIN INIT INFO
# Provides:          prepare-dirs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Required-Start:
# Required-Stop:
# Short-Description: Create needed directories on /var/log/ for tmpfs at startup
# Description:       Create needed directories on /var/log/ for tmpfs at startup
### END INIT INFO
# needed Dirs
DIR[0]=/var/log/lighttpd
DIR[1]=/var/log/cups
DIR[2]=/var/log/apt
DIR[3]=/var/log/ConsoleKit
DIR[4]=/var/log/fsck
DIR[5]=/var/log/news
DIR[6]=/var/log/ntpstats
DIR[7]=/var/log/samba
DIR[8]=/var/log/lastlog
DIR[9]=/var/log/exim
DIR[10]=/var/log/watchdog
case "${1:-''}" in
  start)
        typeset -i i=0 max=${#DIR[*]}
        while (( i < max ))
        do
                mkdir  ${DIR[$i]}
                chmod 755 ${DIR[$i]}
                i=i+1
        done
        # set rights
        chown www-data.www-data ${DIR[0]}
    ;;
  stop)
    ;;
  restart)
   ;;
  reload|force-reload)
   ;;
  status)
   ;;
  *)
   echo "Usage: $SELF start"
   exit 1
   ;;
esac

É isso aí.

user13222
fonte
O Puppy Linux também usa o TMPFS para tudo.
DocSalvager 9/09/15
7

Desativar arquivo de troca:

sudo dphys-swapfile swapoff

Não há necessidade de desinstalar; no entanto, se você não o estiver usando e desejar o espaço, poderá removê-lo com segurança. Comando alternativo para remover:

desinstalação sudo dphys-swapfile

Uso: / sbin / dphys-swapfile {setup | swapon | swapoff | uninstall}

Dave Henderson
fonte
5

Resistência às Células Flash:

  • Para Flash de célula multinível (MLC), até 10.000 ciclos de gravação por setor físico.
  • Para o Flash de célula de nível único (SLC), até 100.000 ciclos de gravação por setor físico.
  • SSD mais recente oferece 1 milhão de ciclos de gravação por setor físico.

É puramente matemático em cartões grandes e com desgaste normal. Se você escrevesse em um cartão flash de 8 GB do tipo MLC, dia e noite, repetidamente, levaria cerca de 30 dias para matá-lo.

O episódio 99 da Techsnap fala sobre o desgaste de SSDs e Allen explica como é impossível usar um SSD no uso diário e não precisamos nos preocupar em desativar a troca, os crons e tudo mais. Apenas funciona agora! O nivelamento inteligente de desgaste cuida de tudo.

O desgaste normal, conforme citado por Kingston, deve proporcionar 27 anos de vida por uma câmera digital profissional.

Para câmeras DSLR normais, você pode preenchê-lo uma vez a cada poucos meses .. depende de quanto você viaja. Levando em consideração um Pi, se você experimentar alocar e voltar a piscar com frequência, pode ser mais difícil. Normalmente, quando você está feliz com uma distro ... você não a repete por meses ou anos. Portanto, para prolongar o desgaste do SD, seria bom seguir alguns conselhos sobre a redução de IO no SD.

O preço do flash caiu e a tecnologia é muito melhor.

A maioria dos cartões SD sobreviverá a duas ou três gerações de dispositivos e, nesse momento, será considerado pequeno e lento demais para usar com uma atualização muito melhor e mais barata disponível!

Piotr Kula
fonte
Um Raspberry Pi configurado com uma webcam para fins de segurança pode estar gravando dados 24/7. Eu acho que nesse caso um SSD é provavelmente melhor.
Altamente Irregular
1
Sim, mas não está escrevendo TODOS os setores o tempo inteiro sequencialmente. Ele é gerenciado com menos desgaste e novos dados sempre vão para o setor / área de menos acessos. O vídeo não substituirá os arquivos do sistema de arquivos ou de paginação. Despreocupado, quantas horas você consegue em uma unidade flash de 16GB? Normalmente, o CCTV deve estar acessível 15 a 30 dias depois! Use uma unidade de 1 TB ou NAS para armazenar para fins históricos. Mesmo a curto prazo para armazenamento e transferência, você terá anos com um cartão SD! Melhor ainda, use um SD de 32GB, mas limite a pasta para 16GB. Você mais do que dobrará o tempo de vida útil dessa técnica!
Piotr Kula
4
@ppumkin, você pode nos dizer como realmente usa seus cartões SD em seu (s) RPi (s)? Muitos de nós (Google "raspberry danificado sd") encontramos falhas fatais (eu mais de um, inclusive Kingston, agora que você mencionou) com as configurações Raspbian padrão, apesar dos números impressionantes de fornecedores ... Pode ser RPi, não SD, mas seus números de papel ainda não têm fundamento, sem nenhuma referência aos problemas de SD da RPi (devo dizer bem conhecidos?), Suas próprias práticas de campo reais ou, melhor ainda: estudos de caso desmascarando experimentalmente os "rumores" de danos à SD.
Sz.
1
Olha, tudo o que falo está ligado à referência. OK, você quer saber como eu o uso? Eu não! Porque o Pi, é realmente uma grande dor na bunda! Os cartões SD continuam falhando, e não é culpa do cartão SD. O hardware ou o software Pi está bloqueando essas coisas. Eu acho que são as tensões instáveis ​​fornecidas pelas fontes de alimentação USB baratas. O novo B + tem reguladores neles. Graças a Deus! Este WiFi fixo, feedback sonoro e eu oro a Deus que bloqueia cartões SD. Eu ainda preciso encomendar alguns, mas estou brincando com o Netduino agora, nenhum SD travou ainda.
Piotr Kula
1
@ppumkin eu usei o SanDisk. Não os do ebay. Há uma grande diferença entre atualizar novamente um cartão SD (para reutilização em uma câmera, por exemplo) e usá-lo como a casa de um sistema operacional. Você deve ser mais específico a respeito de como exatamente você usar o seu, e quanto tempo eles duraram. Não há necessidade de repetir o comentário dos Lunakids, mas concordo plenamente com ele. .
RolfBly 29/05
4

Como mencionado anteriormente, o principal problema são os arquivos e diretórios que não valem a pena serem salvos entre as reinicializações, mas são escritos com bastante frequência, como arquivos de cache, pastas de download, etc.

O Raspbian, assim como o Debian e o Ubuntu, têm um pacote chamado unburden-home-dir, cujo objetivo principal é vincular esses arquivos a um local menos problemático, como, por exemplo, uma tmpfsmontagem ou um disco rígido externo que é menos propenso a se desgastar.

Geralmente, ele é executado no momento do login no X e direcionado aos arquivos de cache do aplicativo GUI, mas também pode ser chamado a partir de scripts ou outros e configurado para arquivos arbitrários no diretório inicial do usuário.

Axel Beckert
fonte
3

Estas são as minhas recomendações para um Debian 8.0 (Jessie)

Eles são baseados em iotop -bktoqqqe iostat -dzp 5. Você deve executar esses comandos primeiro para ter uma idéia do problema e sua solução.

1. Desativar troca

sudo systemctl disable dphys-swapfile
sudo rm /var/swap

2. Use as opções de montagem e RAM

Monte todas as partições no cartão SD com as noatime,commit=1800opções e monte os seguintes diretórios na RAM com estas entradas /etc/fstab/:

/dev/mmcblk0p1  /boot           vfat    defaults,noatime,commit=1800  0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime,commit=1800  0       1

tmpfs           /tmp            tmpfs   size=50M,nodev,nosuid     0       0
tmpfs           /var/tmp        tmpfs   size=10M,nodev,nosuid     0       0
tmpfs           /var/cache/samba tmpfs   size=5M,nodev,nosuid     0       0

A confirmação atrasará as gravações e as coletará primeiro.

3. Registre os arquivos de log mais frequentes em /var/tmp/log/

Veja minha descrição Como reduzir a gravação para arquivos de log .

4. Impeça o Chromium de martelar o cartão SD

Acontece que o Chromium escreve muito e não pode ser parado (consulte 176727 , 52663 ). Isso afeta o cache e o diretório de dados do usuário. O Chromium / Dicas e truques explicam como isso pode ser movido para a RAM. Como o Raspberry não possui muita RAM, o Tab Suspender sugerido é útil para economizar RAM.

a) Cache

Limite o tamanho do cache e mova-o para a RAM editando /etc/chromium-browser/customizations/00-rpi-varspara

CHROMIUM_FLAGS="--disable-quic --enable-fast-unload --enable-tcp-fast-open --disk-cache-size=10000000 --media-cache-size=5000000"

Agora, o cache é pequeno o suficiente para ser movido para o disco RAM, alterando a XDG_CACHE_HOMEentrada /etc/security/pam_env.confpara

XDG_CACHE_HOME  DEFAULT=/tmp/@{PAM_USER}/cache

Agora, meus dois usuários têm um pequeno cache do navegador na RAM. Se isso não for suficiente, altere o cache ou / tmp / size conforme necessário.

b) Dir de dados do usuário

Além disso, os dados do usuário dir ( .config/chromium/) sofrem gravações pesadas. O Profile-sync-daemon é recomendado pelo Chromium / Dicas e truques . Foi desenvolvido para gerenciar o perfil do seu navegador em tmpfs e sincronizá-lo periodicamente de volta ao seu disco físico. Infelizmente, o pacote ainda não faz parte da distribuição do Raspbian 8.0 (Jessie). Então, eu ainda não testei isso.

5. Espaço livre no cartão SD

Espaço livre desinstalando pacotes e arquivos que você não precisa. Isso deve espalhar o desgaste de maneira mais uniforme nas partições.

Feito!

Agora corra iotop -bktoqqqe iostat -dzp 5novamente e ver uma redução significativa no acesso de gravação quando o sistema estiver ocioso. Nada é gravado no meu disco por muitos minutos. E não se preocupe com o LED verde do ACT piscando . Aparentemente, não é um bom indicador de acesso de gravação.

Frank Breitling
fonte
2

Apenas uma pequena redução nos ciclos de gravação pode ser alcançada transmitindo a saída do syslog para outro servidor. Obviamente, ter um servidor em syslogdexecução é uma condição prévia. No entanto, com o Pi sendo um brinquedo para os entusiastas do Linux, esse é provavelmente o caso. :-)

Para ativar esse streaming, basta inserir uma declaração como

*.*    @myserver.mydomain

na parte superior do arquivo /etc/rsyslog.conf, comente todas as outras linhas e reinicie o log emitindo service rsyslog restart. Depois disso, as mensagens devem chegar no servidor selecionado.

Um claro efeito colateral vantajoso disso é que você pode monitorar facilmente seu Pi em conjunto com outras máquinas no mesmo servidor. Uma desvantagem é que, durante a inicialização e o desligamento do sistema, você pode perder algumas mensagens quando a conexão de rede ainda não foi estabelecida ou já foi desligada.

Marcus Rickert
fonte
Note que os sistemas Linux modernos (incluindo CentOS 7 e Debian 8 e sistemas baseados em Raspbian 8) fazem todos os registros nos journaldquais os armazenam no diário systemd. Eles também configuram journaldpara encaminhar os logs para o soquete syslog no qual rsyslogdestá escutando; que coloca cópias adicionais das mensagens nos arquivos de log em /var/log. Se você estiver acostumado journalctla navegar nos seus logs (e funcionar muito melhor do que /var/logquando estiver familiarizado com ele), poderá desativar completamente rsysloge salvar algumas gravações.
Curt J. Sampson
1

Nota: O limite de 100.000 ciclos é uma hipótese que se aplica a todos os dispositivos de computação, mesmo as teclas de um teclado. Acredito que executar o Pi em condições adequadas de resfriamento e em ciclos adequados de desligamento / início proporcionará melhores resultados, em vez de fazer analogias.

Também isso pode aumentar minha opinião acima.

Adicione um novo usuário além do usuário Pi [padrão]. Aponte o diretório inicial do novo usuário na unidade externa [polegar / disco rígido]. Conceda ao novo usuário permissões de superusuário e comece a usá-lo como sua conta principal.

Eu espero que isso ajude..

touchStone
fonte
Eu sempre tento escrever menos para economizar nos teclados;)
Piotr Kula
Adicionar um novo usuário não impedirá a ocupação /var/loge /var/tmp. Além disso, ter evidências de que o resfriamento adequado faz a diferença é muito melhor do que dizer "eu acredito".
RolfBly 29/05
0

Use o daemon syslog do busybox (no pacote busybox-syslogd no Raspbian / Debian / Ubuntu) em vez do daemon syslog padrão (geralmente rsyslog). Por padrão no Raspbian / Debian / Ubuntu, o syslogd do busybox efetua login apenas no buffer de anel na memória e não no disco. O buffer de anel tem um tamanho de 128kB por padrão, ou seja, as entradas de log antigas são desativadas em breve e desaparecem. Mas você pode configurá-lo para usar mais RAM para ele.

No entanto, esta é uma solução muito melhor do que não ter um daemon syslog, ou seja, você ainda pode efetuar login e ler as entradas de log do approx. algumas horas ou dias passados (dependendo do tamanho do tamp configurado anel) com o comando logread. Você também pode usar logread -fpara obter um tail -fcomportamento semelhante, por exemplo, armazenar apenas entradas de log interessantes usando um script de filtro ou encaminhar entradas de log pela rede em outro local, por exemplo, usando stunnelou algo assim.

Axel Beckert
fonte
-1

Algumas coisas que fiz:

chmod do dphys-swapfile (em algum lugar no / etc - não próximo ao PI no momento) para:

sudo chmod a-x dphys-swapfile

Eu recebo erros menores na inicialização (não é possível iniciar o serviço dphys-swapfile) - Suponha que exista uma maneira melhor ... rc-update ??

Além disso, eu capturo imagens do módulo da câmera, para eventualmente colocar no meu servidor da web (o Pi). Formatei / dev / ram0 no ext2, montei-o como / media / ramdrive (usando /etc/init.rc, acho). São 4megs, grandes o suficiente para um piscar de olhos. Nenhuma gravação no SD.

O servidor (oululife.dnsdynamic.com) é experimental, mas está na web. Para enfatizar, eu também deixo transmitir um episódio em MP4 de 'Heartbeat *'. Ele roda lighttpd, Mysql, PHP, WordPress e, mesmo quando eu transmito remotamente pela Web, dificilmente suamos, com uma carga média de 0,2. Sem overclocking. Modelo-B rev. 2, até 24/7. Então, se eu conseguir colocar meus arquivos de log nos outros 15 / dev / ramX, acho que meu cartão Micro-SD 16G durará anos ...

user10419
fonte