SD kartımın ömrünü nasıl uzatabilirim?


252

Bir USB sabit disk satın almak isteyen herkes değilim ama SD kartların birçok okuma ve yazma tekrarı için uygun olmadığını biliyorum.

Raspberry Pi'm kullanılırken SD kartımın ömrünü uzatmak için atabileceğim herhangi bir adım var mı?


19
Eğer gece ve gündüz 24 / 7- tüm zaman tam hızda yazarsanız, bir 16 gb yaklaşık 30 gün sürecek. Normal kullanımda, 10.000 yazma çevrimine dayanarak yaklaşık 27 yıl bekleyebilirsiniz. 50 yıl boyunca 100.000 yazma çevrimi kullanıyorsa. Kart ne kadar büyük olursa, akıllı aşınma dengeleme mantığı sayesinde daha uzun süre dayanır
Piotr Kula

Bilmek harika bir şey, tam hızda yazarken 30 gün süren ilk 16 gb sd noktanız hakkında hiçbir fikrim yoktu. Sanırım sürekli videoyu sd'ye kaydedip daha sonra aktarmak en iyi fikir değil.
SSH Bu

3
Bu çözümlerden alacağınız tüm performans isabetleriyle neden birkaç yılda bir 10 $ ödeyesiniz?
Alexander

Yanıtlar:


244

Bu yöntemler, okuma / yazma sayısını çeşitli şekillerde en aza indirerek SD kartın ömrünü uzatmalıdır:

Takas Etmeyi Devre Dışı Bırak

Değiştirme, SD kartın bir kısmını geçici bellek olarak kullanma işlemidir. Bu, mevcut RAM miktarını artıracak, ancak çok sayıda okuma / yazma ile sonuçlanacaktır. Performansı önemli ölçüde artırmak olası değildir.

Komutla değiş tokuşu devre dışı bırak swapoff:

sudo swapoff --all

Ayrıca yeniden başlattıktan sonra geri gelmesini engellemelisiniz:

  • Bir takas dosyasını yönetmek için dphys- swap dosyasını kullanan Raspbian için ("normal" takas bölümü yerine) sudo apt-get remove dphys-swapfilekalıcı olarak kaldırabilirsiniz. Kaldırmak için en iyisidir, çünkü bu cevaptaCONF_SWAPSIZE açıklandığı şekilde 0 olarak ayarlamak işe yaramaz ve yeniden başlatıldıktan sonra hala 100 MB'lık bir takas dosyası oluşturur.
  • Takas dosyası yerine takas bölümü kullanan diğer dağıtımlar için uygun satırı /etc/fstab

Dosya Sisteminde Günlük Kaydını Devre Dışı Bırakma

Günlük gibi bir dosya ext3ya da ext4WITHOUT bir günlük dosya sisteminin kullanılması, okuma / yazma işlemlerini azaltmak için bir seçenektir. Günlük kaydı devre dışı bırakılmış bir dosya sistemi kullanmanın açık bir dezavantajı, ungraceful bir bağlantı kesilmesinin sonucu olan veri kaybıdır (örn. Güç kesintisi, çekirdek kilitlenmesi vb.).

Günlük kaydını, ext3olarak ekleyerek devre dışı bırakabilirsiniz ext2.

Aşağıdaki ext4gibi takma bir sürücüde günlük kaydını devre dışı bırakabilirsiniz :

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

Noatime Dağı Bayrağı

Noatime mount bayrağını SD kartındaki bölümlere bölümün seçenekler bölümüne ekleyerek atayın /etc/fstab.

Dosya sistemine erişimleri okumak artık dosyayla ilişkilendirilmiş olan bilginin güncellenmesine neden olmayacak. Zaman ayarının önemi, sistemin basitçe okunan dosyalar için dosya sistemine yazma yapma ihtiyacını ortadan kaldırmasıdır. Yazma, önceki bölümde belirtildiği gibi biraz pahalı olabileceğinden, bu ölçülebilir performans kazanımlarına neden olabilir. Bir dosyaya yazma süresi bilgilerinin, bu seçenek etkinken dosya yazıldığı zaman güncellenmeye devam edeceğini unutmayın.

RAM içindeki dizinler

Gibi kullanılan /var/tmp/ve muhtemelen yüksek oranda kullanılmış olan dizinler, bu /var/logşekilde RAM'e yerleştirilebilir /etc/fstab:

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

Bu, /var/tmp50 MB RAM'in disk alanı olarak kullanılmasına izin verecektir . Bunu yapmanın tek sorunu RAM'e takılan herhangi bir sürücünün yeniden başlatmanın ötesine geçmeyeceğidir. Bu nedenle, bağlarsanız /var/logve sisteminiz yeniden başlatılmasına neden olan bir hatayla karşılaşırsa, nedenini bulamayacaksınız.

Harici Sabit Diskteki Dizinler

Ayrıca bazı dizinleri kalıcı bir USB sabit diskine takabilirsiniz. Bunun daha fazla detayını bu soruda bulabilirsiniz .

Ahududu Pi ayrıca kök bölümünü harici bir sürücüden başlatabilir. Bu, USB veya Ethernet üzerinden olabilir ve SD kartın yalnızca önyükleme sırasında farklı aygıta yetki vermek için kullanılacağı anlamına gelir. Bu, varsayılan çekirdeğin USB depolamayı desteklediğini sanmadığım için, bir miktar çekirdek hacklemesi gerektirir. Bu soruda veya bu harici blog yayınında daha fazla bilgi bulabilirsiniz .


17
noatimevarsayılan olmalı.
Alex Chamberlain,

3
@AlexChamberlain: noatimevarsayılan değil, en azından Arch.
Jivings

20
En son Raspian yapılarında.
Oli

4
Buna göre: superuser.com/a/168126/105936/var/tmp , hafızaya koymak o kadar da iyi bir fikir değil . Belki onunla karıştırdın /tmp.
inf3rno

1
noatimeSize sorun çıkarırsa , relatimetamamen yazma yerine disk yazmalarını önemli ölçüde azaltan da kullanabilirsiniz .
Mark Booth,

79

Jivings tarafından sağlanan seçenekler başvurunuz için mümkün değilse, ömrünü uzatmak için başka bir seçenek, ihtiyacınız olandan daha büyük bir SD kart kullanmaktır .

Bol miktarda boş alan bırakın

İyi SD kartların çoğu , her bloğun yazılma sayısını en aza indirgemek için aşınma dengeleme algoritmaları kullanır, böylece SD kart ihtiyacınız olandan daha büyükse, aşınma çok daha büyük bir boş alana yayılabilir.

Aşınma seviyesinin çok önemli olmasının bir kısmı, FAT (bazı SD kartlar için varsayılan format) gibi bazı dosya sistemlerinin aynı sektörleri tekrar tekrar dövmesidir.

Bununla ilgili daha fazla bilgi için, soruya verilen cevaplara bakın. Bir SD / MMC Kartının kendi kontrol cihazı ile aynı seviyede yıprandığı doğru mu? üzerinde üzerinde Elektronik Stack Borsası özellikle, bu cevap .

Bir ilginç istatistik Bu yanıt olmasıdır

2GB'lık bir kart alıp tekrar tekrar yazmaya başlaması, kart bitmeden ve artık yazılmadan önce ortalama 10 TB değerinde bir ortalama alıyor.

Ama endişe verici şey şu ki

Veriler kötü olduğunda SD kartlar size haber vermeyecektir, yani PC harddrive gibi bir G / Ç hatası vermeyecektir.

Bu, güvenilir bir depolama alanı sağlamanız gerektiğinde dosya sistemi seçiminizi önemli kılabilir.

Son bir not: SD kartın boyutunun iki katına çıkarılması , ömrünün iki katından fazla olabilir .

Yani, 200 MB boş bir 2 GB SD kartınız varsa, 4 GB karta geçmek size 11 kat boş alan, yıpranma kapasitesi ve dolayısıyla uzun ömür sağlar, 16 GB karta geçiş ise 71 kat ücretsiz alan, boş yer, mekan.


SD kartın ilk olarak aşınma dengelemesi yapmasına izin vermek için, hangi blokların bunun için kullanmanın serbest olduğu söylenmelidir. fstrim bunu yaparken yardımcı olabilir.
JimmyB,

Kesim gerekli değildir, ancak onsuz bir blok sadece işletim sistemi kullanmayı bıraktığı zaman yerine bir blok kullandığında yeniden kullanılır. Trim bildiğim kadarıyla bir SSD işlevidir ve çok daha basit bir protokolle erişilen SD kartlar tarafından desteklenmez.
Mark Booth

@Mark, ilk hedefiniz kesinlikle doğru. - İkinci noktanıza gelince, MMC_ERASEsadece bu amaç için MMC / SD standardında bir yerde tanımlanmış (isteğe bağlı) komutu var. Her ne kadar tüm SD-Kartlarına rağmen bir tanesini denedim (Pi'imle birlikte gelen) aslında onu destekliyor.
JimmyB

Bu durumda bölme boyutu önemli midir? Demek istediğim, eğer 16GB'lık bir kartım ve 4GB'lık benzersiz ext4 bölmeli bir sistemim varsa, kalan 12GB'lık aşınma seviyelendirme için de kullanılabilir mi?
natenho,

İyi aşınma seviyesine sahip bir SD kart için @natenho için evet, zor (ya da hayır) uygulaması olmayanlar için söylemek zor.
Mark Booth,

25

Gördüğüm tek şey SD kartını değiştirmemek.

SD kartını değiştirmek muhtemelen SD kartınızı öldürebilir.

Daha fazla RAM’e ihtiyacınız varsa, zram kullanmaya çalışabilirsiniz, burada http://raspberry.pi.gw.gd/t50-Using-ZRAM.html adresindeki bir yazı ile ahududu pi’de ZRAM’ın kullanımı hakkında bazı bilgiler verilir.

Zram için daha fazla bilgi için: http://en.wikipedia.org/wiki/ZRam

Ayrıca en yeni SD kartların eski kartlardan çok daha sağlam olduğu biliniyor, yepyeni bir sınıf 10 SD kart satın almak muhtemelen iyi bir seçenek.


14

Tamamen ram ikamet eden Puppy Linux çalıştırmayı deneyebilirsiniz. Depolama görüntüsünü (sizin durumunuzdaki SD kartındaki) önyükleme sırasında RAM’e kopyalayıp ardından düzenli aralıklarla depolama alanına geri aktararak tamamen hafızada çalıştığı için çok küçük ve hızlıdır. Bu tasarrufun sıklığı manuel olarak dahil olmak üzere kullanıcı tarafından kontrol edilir.

Puppy katmanlı auf'ları veya daha eski unionfs dosya sistemini ext3 veya ext4 gibi standart Linux dosya sistemlerinden herhangi biriyle kullanır. Ayrıca, FAT veya NTFS bölümlerinde de bulunabilir.

Biri "Yavru Usta", Barry Kauler tarafından yaratılan RPI için özel olarak tasarlanmış en az birkaç Puppy sürümü vardır.

Daha fazlası için http://puppylinux.org/wikka/Puppi adresine gidin.


12

Buradaki çoğu insan varsayımları hakkında konuşur ve kişisel deneyimlerinden kaynaklanmaz.

RaspberryPi'mi RasPBX'li 8 santral ve faks içeren bir şirket panosu olarak kullanıyorum. LinkSYS SPA3000 ile 3 ip tabanlı gövdemiz ve bir sabit hattımız var. İlk Kingston 4 GB SDCard'ımın tozu ısırması sadece 1 ay sürdü.

Hala deniyordum ve yedeğim yoktu. BTW Pi bir APC UPS'ye bağlı. Daha sonra RasPBX'in tamamını sıfırdan yeniden kurdum, ancak bu sefer / var / log ve / var / lib / mysql'i NAS şirketimize taşıdım. Bu SD 3 ay sonra hala Tamam oldu.

Sonra çok sıcak bir yaz geçirdik. Üçüncü ay boyunca pi, mavi dışındaki eteriği algılamamaya başladı. Sonra bir gün bütün Leds kararmış ve önyükleme olmaz bulundu.

Pi’yi kutudan yeni çıkan ile değiştirdim. Sıra dışı bir kişi soğuduktan sonra çalışmaya başladı, ancak oldukça değişken çalışıyor ve RasPBX'e önyükleme yaptığında video modu grafiğe geçmiyor, 80 * 25 Metin. Gerçekten berbattı. O zamandan beri soğutucu seti sipariş ettim. Yeni Pi şu anda 2 aydan 7/24 çalışmaktadır.

Bu nedenle pi'yi 7/24 bir ortamda kullanacaksanız, ucuz olmayın - soğutucu satın alın ve / var / log ve SD CARD üzerindeki diğer meşgul dizinleri kullanmaktan kaçının.


Var / log'un uygun bir cihazda olduğundan emin olmak mükemmel bir tavsiye gibi geliyor. İlk sorunlu ayda ilginizi çeken, posta kartlarını USD kartında mı saklıyordunuz? Sesli posta kutularını etkinleştirmeye karar verirsem, Dash Cam kullanımı için tasarlanan kartlar gibi yüksek dayanıklılıklı uSD kartların RasPBX dağıtımım için daha iyi olup olmadığını merak ediyorum.
Mark Booth,

11

I utilitze tmpfs ve en iyi cevap hazırlamak-dirs (bakınız komut bir sentezidir tüm çözümler karşılaştırmıştır http://grenzdebiel.dyndns.org/wordpress/?p=98 uygun / etc / varsayılan / tmpfs olan) ( (bkz. http://www.a-netz.de/2013/02/ramdisks-for-the-raspberry/ ).

Raspbian'da gerçekleştirilmesi gereken adımlar:

1. düzenleyin /etc/default/tmpfsve ayarlayın :

RAMLOCK=yes
RAMSHM=yes
RAMTMP=yes

Aşağıdaki boyutları tavsiye ederim:

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

2. / etc / fstab komutunu kullanarak ek dizinleri etkinleştirin

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. betiği /etc/init.d/prepare-dirskullanarak eksik dizinler oluşturarak /var/logtüm daemonların başlayabilmesini sağlayın.

Sonunda benim davamda ne içerdiğini görün.

4. Komut dosyasını çalıştırılabilir hale getirin chmod 755 /etc/initd/prepare-dirs.

5. Senaryoların başlamadan önce betiğin ilk açılışta başlayacağından emin ol: update-rc.d prepare-dirs defaults 01 99

içeriği /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

Bu kadar.


Puppy Linux her şey için TMPFS'yi kullanır.
DocSalvager 9:15

7

Takas Dosyasını Devre Dışı Bırak:

sudo dphys-takas dosyası takas etme

Kaldırma zorunluluğu yoktur, ancak kullanmıyorsanız ve alanı istiyorsanız, güvenle kaldırabilirsiniz. Kaldırılacak alternatif komut:

sudo dphys-swapfile kaldırma

Kullanım: / sbin / dphys-swapfile {setup | swapon | swapoff | uninstall}


5

Flaş Hücre Dayanıklılığı:

  • Çok Seviyeli Hücre (MLC) Flash için, fiziksel sektör başına 10.000 yazma çevrimine kadar.
  • Tek Seviyeli Hücre (SLC) Flash için, fiziksel sektör başına 100.000 yazma çevrimine kadar.
  • Daha yeni SSD, fiziksel sektör başına 1 milyon yazma döngüsü sunuyor.

Büyük kartlarda ve normal aşınmada tamamen matematikseldir. Eğer gece gündüz 8GB MLC tipi bir flaş karta yazarsanız, onu öldürmek yaklaşık 30 gün sürer.

Techsnap'taki Bölüm 99, SSD'leri yıpratmaktan bahsediyor ve Allen, günlük kullanımda bir SSD'yi giymenin nasıl imkansız olduğunu açıklıyor ve takas, kron ve diğer şeyleri devre dışı bırakmak konusunda endişelenmemize gerek yok. Sadece şimdi çalışıyor! Akıllı aşınma dengeleme her şeyi halleder.

Kingston'a göre normal aşınma, profesyonel bir dijital kamerada yaşam için size 27 yıl vermelidir.

Normal DSLR fotoğraf makineleri için hangisini birkaç ayda bir doldurabilirsiniz .. ne kadar seyahat ettiğinize bağlı. Pi'yi göz önünde bulundurursak, eğer tahsis etmeyi deneyip sık sık tekrar kullanırsanız daha fazla para gerektirebilir. Genelde bir dağıtımdan memnun kaldığınızda ... aylarca veya yıllar boyunca parlamazsınız. Bu nedenle, SD aşınmasını uzatmak için, SD üzerindeki GÇ'yi azaltmak konusunda bazı tavsiyelere uymanız iyi olur.

Flaşın fiyatı düştü ve teknoloji çok daha iyi.

Çoğu SD kart, iki veya üç kuşak cihazdan daha uzun sürecek ve bu zamana kadar mevcut daha iyi ve daha ucuz bir yükseltme ile kullanılamayacak kadar küçük ve çok yavaş sayılacak!


Güvenlik amacıyla bir web kamerasıyla kurulan bir Ahududu Pi, 7 gün 24 saat veri yazıyor olabilir. Sanırım bu durumda bir SSD muhtemelen daha iyi.
Çok Düzensiz

1
Evet, ancak TÜM sektörleri BÜTÜN BÜTÜN saatlerini sırayla yazmıyor. En az aşınma için yönetilir ve yeni veriler her zaman en az erişilen sektöre / bölgeye gider. Video, dosya sistemi dosyalarının veya disk belleği dosyalarının üzerine yazılmaz. Öngörülen 16GB flash sürücüde kaç saat sürebilirsin? Genellikle CCTV 15-30days sonra erişilebilir olmalıdır! Geçmiş amaçlarla saklamak için bunun yerine 1 TB'lik bir sürücü veya NAS kullanın. Depolama ve transfer için kısa vadede bile yıllarca bir SD karttan kurtulursunuz! Daha da iyisi bir 32GB SD kullanın, ancak klasörü 16 GB'a kadar kapayın.
Piotr Kula

4
@ppumkin, SD kartlarınızı gerçekten RPI (ler) inizde nasıl kullandığınızı söyleyebilir misiniz? Birçoğumuz (Google "ahududu hasarlı sd"), etkileyici satıcı numaralarına rağmen, varsayılan Raspbian kurulumlarında ölümcül hatalarla (bende birden fazla, Kingston, şimdi de bahsettiğiniz) karşılaştı. SD, ancak makale rakamlarınız hala (biliniyor muyum?) RPI SD konularına, kendi gerçek saha uygulamalarınıza veya daha da iyisi: SD hasarı "söylentilerini" deneysel olarak feragat eden vaka çalışmalarına atıfta bulunmaksızın hala yetersiz.
Sz.

1
Bak, konuştuğum her şey referansla bağlantılı. Tamam, nasıl kullandığımı bilmek ister misin? Yapmıyorum! Çünkü Pi, gerçekten çok büyük bir acı! SD kartlarda hata var ve bu SD kart hatası değil. Ya Pi donanımı ya da yazılımı bu şeyleri örter. Bence ucuz USB güç kaynaklarının sağladığı dengesiz voltajlar. Yeni B + üzerinde düzenleyiciler var. Tanrıya şükür! Bu sabit WiFi, ses geribildirim ve tanrıya SD kartları tuğla dua ediyorum. Hala biraz siparişe ihtiyacım var ama şimdi Netduino ile oynuyorum, henüz SD çökmedi.
Piotr Kula

1
@ ppum SanDisk kullandım. Ebay olanları değil. Bir SD kartı geri çekmek (bir kamerada tekrar kullanmak için) ve onu işletim sisteminin evi olarak kullanmak arasında büyük bir fark var. Sizinkini tam olarak ne şekilde kullandığınıza ve ne kadar sürdüklerine dair daha spesifik olmalısınız . Lunakids'in yorumunu tekrarlamama gerek yok, ama onunla tamamen aynı fikirdeyim. .
RolfBly

4

Daha önce de belirtildiği gibi, asıl sorun yeniden başlatmalar arasında kaydedilmeye değmeyecek, ancak oldukça sık yazılan dosya ve dizinlerdir, yani önbellek dosyaları, klasörleri indirme vb.

Debian ve Ubuntu'nun yanı sıra Raspbian , ana amacı bu dosyaları, örneğin takma veya daha az yıpratmaya yatkın olan harici bir sabit disk gibi daha az sorunlu bir yere bağlamak olan unburden-home-dir adı verilen bir pakete sahip tmpfs.

Yaygın olarak X altında oturum açma zamanında çalıştırılır ve GUI uygulamasının önbellek dosyalarına yöneliktir, ancak komut dosyalarından da çağrılabilir ve kullanıcının giriş dizininde rastgele dosyalar için yapılandırılabilir.


3

Bunlar bir Debian 8.0 için tavsiyem (Jessie)

Onlar dayanmaktadır iotop -bktoqqqve iostat -dzp 5. Sorun ve çözümü hakkında bir fikir edinmek için önce bu komutları çalıştırmalısınız.

1. Değiştirmeyi devre dışı bırak

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

2. Montaj seçeneklerini ve RAM'i kullanın

noatime,commit=1800Seçenekleriyle birlikte SD kartındaki tüm bölümleri ve aşağıdaki girişleri aşağıdaki dizinlerde bulunan RAM'a takın /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

Taahhüt yazarları geciktirir ve önce onları toplar.

3. En sık kullanılan günlük dosyalarını /var/tmp/log/

Açıklamasına bakın Günlük dosyalarına yazmayı nasıl azaltabilirim .

4. Chromium'un SD kartını dövmesini durdurma

Görünüşe göre Chromium ağır yazıyor ve durdurulamıyor (bkz. 176727 , 52663 ). Bu, önbelleği ve kullanıcı veri dizinini etkiler. Krom / ipuçları ve püf noktaları bu RAM hareket ettirilebilir açıklanmaktadır. Ahududu fazla RAM'e sahip olmadığından önerilen Tab Suspender RAM tasarrufunda kullanışlıdır.

a) Önbellek

Önbellek boyutunu sınırlamak ve düzenleyerek RAM taşımak /etc/chromium-browser/customizations/00-rpi-varsiçin

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

Şimdi, önbellek XDG_CACHE_HOMEgirişi değiştirerek RAM diskine taşınacak kadar küçüktür /etc/security/pam_env.conf.

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

Şimdi iki kullanıcımın RAM’de küçük bir tarayıcı önbelleği var. Bu sizin için yeterli değilse önbellek veya / tmp / size gerektiği gibi değiştirin.

b) Kullanıcı verisi dir

Ayrıca kullanıcı verisi dir ( .config/chromium/) de çok ağır yazılar yazar. Profil-senkron-cin tarafından tavsiye edilen Krom / İpuçları ve püf noktaları . Tarayıcınızın profilini tmpfs içerisinde yönetmek ve periyodik olarak fiziksel diskinize senkronize etmek için geliştirilmiştir. Maalesef paket henüz Raspbian 8.0 (Jessie) dağıtımının bir parçası değil. Bu yüzden henüz bunu test etmedim.

5. SD kartta boş alan

İhtiyacınız olmayan dosyaları ve paketleri kaldırarak boş alan açın. Bu, giyilmenizi bölmelerinize daha eşit olarak yaymalıdır.

Bitti!

Şimdi tekrar çalıştırın iotop -bktoqqqve iostat -dzp 5sistem boştayken yazma erişiminde önemli bir azalma görün. Diskime dakikalarca hiçbir şey yazılmıyor. Ve yeşil ACT LED'inin yanıp sönmesi konusunda endişelenmeyin . Görünüşe göre iyi bir yazma erişim göstergesi değil.


2

Syslog çıktısını başka bir sunucuya aktararak yazım döngülerinde küçük bir azalma elde edilebilir. Tabii ki syslogdçalışan bir sunucunun olması bir önkoşuldur. Ancak, Pi'nin Linux meraklıları için bir oyuncak olması ile bu muhtemelen çok sık söz konusudur. :-)

Bu akışı etkinleştirmek için, sadece şöyle bir ifade ekleyin

*.*    @myserver.mydomain

Dosyanın en üstünde /etc/rsyslog.conf, diğer tüm satırları yorumla ve göndererek günlüğü yeniden başlat service rsyslog restart. Bundan sonra mesajların seçilen sunucuya girmesi gerekir.

Bunun avantajlı bir yan etkisi, Pi'nizi aynı sunucudaki diğer makinelerle birlikte kolayca izleyebilmenizdir. Bunun bir dezavantajı, sistemin başlatılması ve kapatılması sırasında, ağ bağlantısı henüz kurulmamışsa veya kapatılmışsa bazı mesajları kaybedebilirsiniz.


Modern Linux sistemlerinin (CentOS 7 ve Debian 8 ve Raspbian 8 gibi sistemlere dayanan sistemlerin) sistem günlüğüne kaydedildiği tüm günlükleri yaptığına dikkat journaldedin. Ayrıca journaldgünlükleri rsyslogd, dinlemekte olduğu syslog soketine iletmek üzere yapılandırırlar ; Bu, iletilerin ek kopyalarını altındaki günlük dosyalarına yerleştirir /var/log. journalctlGünlüklerinizi taramak için rahat kullanıyorsanız (ve /var/logaşina olduğunuzdan çok daha iyi çalışıyorsa ) rsyslogbazı yazmaları tamamen devre dışı bırakıp kaydedebilirsiniz.
Curt J. Sampson,

1

Not: 100.000 döngü sınırı, her bilgisayar aygıtına, klavyedeki tuşlara bile uygulanan bir hipotezdir. Pi'nin uygun soğutma koşullarında çalıştırılmasının ve uygun kapatma / başlama döngülerinin analojilere girmekten çok daha iyi sonuçlar vereceğine inanıyorum.

Ayrıca bu benim yukarıdaki fikrimi artırabilir.

Pi [default] kullanıcısına ek olarak yeni kullanıcı ekle. Yeni kullanıcının giriş dizinini harici sürücüye doğrultun [başparmak / sabit sürücü]. Yeni kullanıcıya süper kullanıcı izinleri verin ve birincil hesabınız olarak kullanmaya başlayın.

Umarım bu yardımcı olur..


Her zaman klavyelerde tasarruf etmek için daha az yazmaya çalışırım;)
Piotr Kula

Yeni bir kullanıcı eklemek, meşgul /var/logve engellemez /var/tmp. Ayrıca, uygun soğutmanın bir fark yarattığına dair deneyimlerden elde edilen kanıtlara sahip olmak, "inanıyorum" demekten çok daha iyidir.
RolfBly

0

Varsayılan syslog daemon (genellikle rsyslog) yerine busybox'ın syslog daemon'unu (Raspbian / Debian / Ubuntu'daki busybox-syslogd paketinde ) kullanın. Raspbian / Debian / Ubuntu’da varsayılan olarak, busybox syslogd’u yalnızca bellekte ring arabelleğine giriş yapar, diske değil. Halka arabellek, varsayılan olarak 128kB boyutundadır, yani eski günlük girişleri kısa süre sonra döner ve sonra gider. Ancak bunun için daha fazla RAM kullanacak şekilde yapılandırabilirsiniz.

Bununla birlikte, bu bir syslog daemon'una sahip olmamaktan çok daha iyi bir çözümdür, yani yaklaşık olarak oturum açıp yaklaşık günlük kayıtlarını okuyabilirsiniz. komut ile, birkaç saat veya gün sonra (halka arabelleğinin yapılandırılmış boyutuna bağlı olarak) logread. Örneğin, yalnızca bir filtre komut dosyası kullanarak ilginç günlük girişlerini saklamak veya günlük veya giriş gibi başka bir yerde ağ üzerinden günlük girişlerini iletmek için, örneğin kullanma veya benzeri gibi bir davranış logread -felde etmek için de kullanabilirsiniz .tail -fstunnel


-1

Yaptığım birkaç şey:

dphys-swapfile'ın chmod'i (/ etc içinde bir yerde - şu anda PI yakınında değil):

sudo chmod a-x dphys-swapfile

Önyükleme sırasında küçük hatalar alıyorum (hizmet dphys-swapfile hizmetini başlatamıyor) - Daha iyi bir yol olduğunu varsayalım ... rc-update ??

Ayrıca, sonunda web sunucuma (Pi) koymak için kamera modülünden görüntüler alıyorum. / Dev / ram0 - ext2'yi biçimlendirdim, / media / ramdrive olarak monte ettim (/etc/init.rc, sanırım). 4 megs, bir çırpıda yetecek kadar büyük. SD'ye yazma yok.

Sunucu (oululife.dnsdynamic.com) deneysel, ancak web üzerinde. Gerçekten strese sokmak için ayrıca 'Heartbeat *' adlı bir MP4 bölümü yayınlamasına izin verdim. Lighttpd, Mysql, PHP, WordPress'i çalıştırıyor ve hatta web üzerinden uzaktan aktığımda bile neredeyse hiç ter kırmıyor, ortalama yaklaşık 0,2. Fazla mesai yok. B-Model rev. 2, 7/24. Bu yüzden, logfilelerimi diğer 15 / dev / ramX’e ekleyebilirsem, Micro-SD 16G kartımın son yıllarda olacağını düşünüyorum.

Licensed under cc by-sa 3.0 with attribution required.