Bagaimana saya bisa memperpanjang umur kartu SD saya?

251

Saya tidak terlalu berminat untuk membeli hard disk USB, tetapi saya sadar bahwa kartu SD tidak cocok untuk banyak pengulangan membaca dan menulis.

Apakah ada langkah yang bisa saya ambil untuk memperpanjang umur kartu SD saya saat sedang digunakan oleh Raspberry Pi saya?

Sangat Tidak Teratur
sumber
19
Jika Anda menulis dengan kecepatan penuh sepanjang hari, 24 / 7- a 16gb akan berlangsung sekitar 30 hari. Pada bahasa normal Anda dapat mengharapkan sekitar 27 tahun berdasarkan 10.000 siklus tulis. Jika menggunakan 100.000 siklus tulis selama 50 tahun. Semakin besar kartu semakin lama akan bertahan berkat logika leveling wear pintar
Piotr Kula
Wow itu bagus untuk diketahui, saya tidak tahu tentang poin pertama Anda 16GB sd berlangsung 30 hari dengan menulis kecepatan penuh. Saya kira terus-menerus merekam video ke sd dan kemudian mentransfernya bukan ide terbaik.
SSH
3
Dengan semua hit kinerja yang akan Anda ambil dari solusi ini, mengapa tidak hanya membayar $ 10 setiap beberapa tahun?
Alexander

Jawaban:

243

Metode-metode ini harus meningkatkan masa pakai kartu SD dengan meminimalkan jumlah baca / tulis dalam berbagai cara:

Nonaktifkan Swap

Swapping adalah proses menggunakan bagian dari kartu SD sebagai memori yang mudah menguap. Ini akan meningkatkan jumlah RAM yang tersedia, tetapi akan menghasilkan jumlah baca / tulis yang tinggi. Sepertinya tidak akan meningkatkan kinerja secara signifikan.

Nonaktifkan swap dengan swapoffperintah:

sudo swapoff --all

Anda juga harus mencegahnya agar tidak kembali setelah reboot:

  • Untuk Raspbian yang menggunakan dphys-swapfile untuk mengelola file swap (bukan partisi swap "normal"), Anda dapat sudo apt-get remove dphys-swapfilemenghapusnya secara permanen. Terbaik untuk dihapus karena pengaturan CONF_SWAPSIZEke 0, seperti yang dijelaskan dalam jawaban ini , tampaknya tidak berfungsi dan masih membuat file swap 100MB setelah reboot.
  • Untuk distribusi lain yang menggunakan partisi swap alih-alih file swap, hapus baris yang sesuai dari /etc/fstab

Menonaktifkan Penjurnalan pada Filesystem

Menggunakan sistem file jurnal seperti ext3atau ext4TANPA jurnal adalah opsi untuk mengurangi baca / tulis. Kelemahan yang jelas dari penggunaan sistem file dengan penjurnalan dinonaktifkan adalah kehilangan data sebagai akibat dari turunnya ungraceful (yaitu kegagalan daya post, penguncian kernel, dll).

Anda dapat menonaktifkan penjurnalan ext3dengan memasangnya sebagai ext2.

Anda dapat menonaktifkan penjurnalan pada ext4pada drive yang tidak di-mount seperti ini:

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

Bendera Gunung noatime

Tetapkan tanda mount noatime ke partisi yang berada di kartu SD dengan menambahkannya ke bagian opsi partisi di /etc/fstab.

Membaca akses ke sistem file tidak akan lagi menghasilkan pembaruan informasi atime terkait dengan file. Pentingnya pengaturan noatime adalah bahwa hal itu menghilangkan kebutuhan oleh sistem untuk membuat menulis ke sistem file untuk file yang hanya sedang dibaca. Karena menulis bisa agak mahal seperti yang disebutkan di bagian sebelumnya, ini dapat menghasilkan keuntungan kinerja yang terukur. Perhatikan bahwa informasi waktu penulisan ke file akan terus diperbarui kapan pun file ditulis dengan opsi ini diaktifkan.

Direktori dalam RAM

Direktori yang sangat sering digunakan seperti /var/tmp/dan mungkin /var/logdapat dipindahkan ke RAM /etc/fstabseperti ini:

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

Ini akan memungkinkan /var/tmpuntuk menggunakan 50MB RAM sebagai ruang disk. Satu-satunya masalah dengan melakukan ini adalah bahwa setiap drive yang terpasang dalam RAM tidak akan bertahan melewati reboot. Jadi, jika Anda memasang /var/logdan sistem Anda menemukan kesalahan yang menyebabkannya untuk reboot, Anda tidak akan dapat menemukan alasannya.

Direktori dalam Hard Disk eksternal

Anda juga dapat memasang beberapa direktori pada hard disk USB yang persisten. Rincian lebih lanjut tentang ini dapat ditemukan dalam pertanyaan ini .

Raspberry Pi juga dapat mem-boot partisi root-nya dari drive eksternal. Ini bisa melalui USB atau Ethernet dan berarti bahwa kartu SD hanya akan digunakan untuk mendelegasikan ke perangkat yang berbeda saat boot. Ini membutuhkan sedikit peretasan kernel untuk menyelesaikannya, karena saya tidak berpikir kernel default mendukung penyimpanan USB. Anda dapat menemukan informasi lebih lanjut di pertanyaan ini , atau posting blog eksternal ini .

Jivings
sumber
17
noatimeharus menjadi default.
Alex Chamberlain
3
@AlexChamberlain: noatimetidak standar, setidaknya di Arch.
Jivings
20
Itu dalam membangun Raspian terbaru.
Oli
4
Menurut ini: superuser.com/a/168126/105936 itu bukan ide yang bagus untuk dimasukkan /var/tmpke dalam memori. Mungkin Anda bingung dengan itu /tmp.
inf3rno
1
Perhatikan bahwa jika noatimemenyebabkan masalah, Anda juga dapat menggunakan relatimeyang secara signifikan mengurangi penulisan disk saat dibaca daripada menghapusnya seluruhnya.
Mark Booth
79

Jika opsi yang disediakan oleh Jivings tidak memungkinkan untuk aplikasi Anda, maka opsi lain untuk memperpanjang masa pakainya secara substansial adalah dengan menggunakan kartu SD yang jauh lebih besar dari yang Anda butuhkan.

Tinggalkan banyak ruang kosong

Sebagian besar kartu SD yang layak menggunakan algoritma leveling wear untuk meminimalkan berapa kali setiap blok ditulis, jadi jika kartu SD lebih besar dari yang Anda butuhkan maka keausan dapat tersebar di area ruang bebas yang jauh lebih besar.

Bagian dari alasan pemakaian leveling sangat penting adalah bahwa beberapa sistem file, seperti FAT (format default untuk banyak kartu SD), memalu sektor yang sama berulang kali.

Untuk informasi lebih lanjut tentang ini, lihat jawaban atas pertanyaan . Benarkah kartu SD / MMC memang memakai leveling dengan pengontrolnya sendiri? lebih pada Electronics Stack Exchange , terutama jawaban ini .

Satu statistik menarik dari jawaban ini adalah itu

mengambil kartu 2GB dan menulisnya mulai berakhir berulang-ulang rata-rata sekitar 10TB sebelum kartu mati dan tidak lagi dapat ditulis.

Tapi yang mengkhawatirkan adalah itu

Kartu SD tidak akan memberi tahu Anda ketika data buruk, yaitu tidak akan mengembalikan kesalahan I / O seperti yang dilakukan hard drive PC.

Ini mungkin membuat pilihan sistem file Anda penting jika Anda perlu menjamin penyimpanan yang andal.

Satu catatan terakhir: Menggandakan ukuran kartu SD bisa lebih dari dua kali lipat umurnya.

Yaitu jika Anda memiliki kartu SD 2 GB dengan 200 MB gratis maka beralih ke kartu 4 GB akan memberi Anda 11 kali ruang kosong, memakai kapasitas leveling dan umur panjang, sementara beralih ke kartu 16 GB akan memberi Anda 71 kali gratis ruang.

Mark Booth
sumber
Untuk memungkinkan kartu SD melakukan perataan keausan pada awalnya, perlu diketahui blok mana yang sebenarnya bebas digunakan untuk itu. fstrim dapat membantu melakukannya.
JimmyB
Potong tidak diperlukan, tetapi tanpa itu blok hanya digunakan kembali ketika OS menggunakan kembali blok daripada ketika berhenti menggunakannya. Sejauh yang saya tahu trim adalah fungsi SSD dan tidak didukung oleh kartu SD yang diakses oleh protokol yang jauh lebih sederhana.
Mark Booth
@ Mark, poin pertama Anda tepat sekali. - Mengenai poin kedua Anda, ada perintah (opsional) yang MMC_ERASEdidefinisikan di suatu tempat dalam standar MMC / SD hanya untuk tujuan ini. Meskipun dari semua SD-Card saya sudah mencoba hanya satu (-yang datang dengan Pi-) benar-benar mendukungnya.
JimmyB
Apakah ukuran partisi penting dalam kasus ini? Maksud saya, jika saya memiliki kartu 16GB dan sistem dengan partisi ext4 unik 4GB, akankah ia juga memanfaatkan sisa 12GB untuk leveling keausan?
natenho
Sulit untuk mengatakan kepada @natenho ya untuk kartu SD dengan leveling keausan yang baik, tidak untuk kartu dengan implementasi yang buruk (atau tidak).
Mark Booth
25

Satu-satunya hal yang saya lihat adalah TIDAK menukar kartu SD.

Bertukar kartu Sd mungkin adalah yang dapat membunuh kartu SD Anda.

Jika Anda membutuhkan lebih banyak RAM, Anda dapat mencoba menggunakan zram, ada posting di http://raspberry.pi.gw.gd/t50-Using-ZRAM.html memberikan beberapa detail tentang penggunaan ZRAM pada raspberry pi

Info lebih lanjut untuk zram di http://en.wikipedia.org/wiki/ZRam

Juga kartu SD terbaru diketahui jauh lebih solid daripada yang lebih tua, membeli kartu SD kelas 10 baru mungkin merupakan opsi yang baik adalah Anda ingin melihatnya bertahan lama.

neofutur
sumber
14

Anda bisa mencoba menjalankan Puppy Linux yang sepenuhnya ram-penduduk. Ini sangat kecil dan sangat cepat karena berjalan sepenuhnya dalam memori dengan menyalin gambar penyimpanan (pada kartu SD dalam kasus Anda) ke dalam RAM saat boot dan kemudian membilas perubahan secara berkala kembali ke penyimpanan. Frekuensi penyimpanan ini dikendalikan oleh pengguna termasuk secara manual.

Puppy menggunakan auf berlapis atau filesystem unionfs yang lebih lama dengan sistem file Linux standar seperti ext3 atau ext4. Itu juga bisa berada di partisi FAT, atau NTFS.

Setidaknya ada beberapa versi Puppy yang dirancang khusus untuk RPi, salah satunya dibuat oleh "Puppy Master", Barry Kauler.

Untuk lebih lanjut, kunjungi http://puppylinux.org/wikka/Puppi

DocSalvager
sumber
12

Kebanyakan orang di sini berbicara tentang asumsi mereka dan bukan pengalaman pribadi.

Saya telah menggunakan RaspberryPi saya dengan RasPBX sebagai switchboard perusahaan dengan 8 ekstensi dan faks. Kami memiliki 3 batang berbasis ip dan satu jalur darat melalui LinkSYS SPA3000. Hanya butuh 1 bulan untuk SDCard Kingston 4 GB awal saya untuk menggigit debu.

Saya masih bereksperimen dan tidak memiliki cadangan. BTW, Pi terhubung ke UPS APC. Saya kemudian mengatur ulang seluruh RasPBX dari awal, tetapi kali ini saya memindahkan / var / log dan / var / lib / mysql ke NAS perusahaan kami. SD ini masih OK setelah 3 bulan.

Kemudian kami mengalami musim panas yang sangat panas. Selama bulan ketiga pi mulai tidak mendeteksi ethernet tiba-tiba. Lalu suatu hari saya menemukan itu semua Leds redup dan tidak mau boot.

Saya telah mengganti Pi dengan yang baru. Yang rusak mulai bekerja setelah pendinginan tetapi berfungsi agak tidak menentu dan ketika boot ke RasPBX mode video tidak akan beralih ke grafik, ia tetap dalam 80 * 25 Teks. Itu benar-benar kacau. Saya sudah memesan set heatsink sejak itu. Pi baru bekerja dengannya sekarang selama lebih dari 2 bulan 7/24.

Jadi, jika Anda akan menggunakan pi di lingkungan 7/24, jangan murah - beli heatsink dan hindari menggunakan / var / log dan direktori sibuk lainnya di SD CARD.

Kerem Ersoy
sumber
Memastikan var / log pada perangkat yang cocok terdengar seperti saran yang sangat baik. Tidak tertarik, pada bulan bermasalah awal itu, apakah Anda menyimpan kotak pesan suara pada kartu USD juga? Saya hanya ingin tahu apakah kartu uSD dengan daya tahan tinggi seperti yang dirancang untuk penggunaan Dash Cam mungkin lebih baik untuk penyebaran RasPBX saya jika saya memutuskan untuk mengaktifkan kotak pesan suara.
Mark Booth
11

Saya telah membandingkan semua solusi yang memanfaatkan TMPFS dan jawaban terbaik adalah sintesis dari skrip persiapan-dirs (lihat http://grenzdebiel.dyndns.org/wordpress/?p=98 ) dengan / etc / defaults / tmpfs yang tepat () (lihat http://www.a-netz.de/2013/02/ramdisks-for-the-raspberry/ ).

Langkah-langkah yang perlu dilakukan pada raspbian adalah:

1. edit /etc/default/tmpfsdan atur :

RAMLOCK=yes
RAMSHM=yes
RAMTMP=yes

Saya akan merekomendasikan ukuran berikut:

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

2. aktifkan direktori tambahan menggunakan / 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. gunakan skrip /etc/init.d/prepare-dirsuntuk membuat direktori yang hilang /var/logsehingga semua daemon dimulai

Lihat di akhir apa yang terkandung dalam kasus saya.

4. Jadikan skrip dapat dieksekusi chmod 755 /etc/initd/prepare-dirs.

5. Pastikan skrip akan dimulai terlebih dahulu saat boot sebelum dasmon Anda mulai: update-rc.d prepare-dirs defaults 01 99

isi dari /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

Itu dia.

pengguna13222
sumber
Puppy Linux menggunakan TMPFS untuk semuanya juga.
DocSalvager
7

Nonaktifkan Swapfile:

sudo dphys-swapfile swapoff

Tidak ada keharusan untuk menghapus instalan, namun jika Anda tidak menggunakannya, dan memang menginginkan ruang, Anda dapat menghapusnya dengan aman. Perintah alternatif untuk menghapus:

uninstall sudo dphys-swapfile

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

Dave Henderson
sumber
5

Ketahanan Sel Flash:

  • Untuk Multi-Level Cell (MLC) Flash, hingga 10.000 siklus tulis per sektor fisik.
  • Untuk Flash Sel Tingkat Tunggal (SLC), hingga 100.000 siklus tulis per sektor fisik.
  • SSD yang lebih baru menawarkan 1 juta siklus tulis per sektor fisik.

Ini murni matematika pada kartu besar dan pemakaian normal. Jika Anda menulis ke kartu flash tipe 8GB MLC siang dan malam berulang kali akan memakan waktu sekitar 30 hari untuk membunuhnya.

Episode 99 di Techsnap berbicara tentang usang SSD dan Allen menjelaskan bagaimana tidak mungkin memakai SSD dalam penggunaan sehari-hari dan kita tidak perlu khawatir tentang menonaktifkan swap, crons, dan semua itu. Itu hanya berfungsi sekarang! Leveling aus yang pintar menangani semuanya.

Pakaian normal seperti dikutip per Kingston harus memberi Anda 27 tahun kehidupan seumur hidup dalam kamera digital profesional.

Yang untuk kamera DSLR normal, Anda mungkin mengisinya setiap beberapa bulan .. tergantung seberapa banyak Anda bepergian. Mempertimbangkan Pi, jika Anda bereksperimen membagikan dan mem-flash kembali secara berkala, maka mungkin akan membutuhkan lebih banyak biaya. Biasanya setelah Anda puas dengan distro ... Anda tidak menginstalnya selama berbulan-bulan atau bertahun-tahun. Jadi untuk memperpanjang pemakaian SD, ada baiknya mengikuti beberapa saran untuk mengurangi IO di SD.

Harga flash telah jatuh dan teknologinya jauh lebih baik.

Sebagian besar kartu SD akan hidup lebih lama dari dua atau tiga generasi perangkat dan pada saat itu akan dianggap kecil dan terlalu lambat untuk digunakan dengan upgrade yang jauh lebih baik dan lebih murah tersedia!

Piotr Kula
sumber
Raspberry Pi yang diatur dengan webcam untuk tujuan keamanan mungkin dapat menulis data 24/7. Saya kira dalam hal itu SSD mungkin lebih baik.
Sangat tidak teratur
1
Ya tapi itu tidak menulis SEMUA sektor yang SELURUH waktu secara berurutan. Dikelola untuk paling sedikit keausan dan data baru selalu masuk ke sektor / area yang paling sedikit diakses. Video tidak akan menimpa file sistem file atau file paging. Besised berapa jam yang bisa Anda dapatkan pada flash drive 16GB? Biasanya CCTV harus dapat diakses 15-30days kemudian! Gunakan drive 1 TB atau NAS untuk menyimpan untuk tujuan historis. Bahkan jangka pendek untuk penyimpanan dan transfer Anda akan mendapatkan tahun dari kartu SD! Lebih baik lagi menggunakan 32GB SD tetapi tutup folder hingga 16GB - Anda akan lebih dari dua kali seumur hidup menggunakan teknik itu!
Piotr Kula
4
@ppkinkin, bisakah Anda memberi tahu kami bagaimana Anda benar-benar menggunakan kartu SD Anda dalam RPi Anda? Banyak dari kita (Google "raspberry rusak sd") telah mengalami kegagalan fatal (saya lebih dari satu, termasuk Kingston, sekarang yang Anda sebutkan) dengan pengaturan Raspbian default mereka, meskipun nomor vendor mengesankan ... Mungkin RPi, tidak SD, tetapi angka-angka kertas Anda masih tidak berdasar tanpa referensi ke (harus saya katakan terkenal?) Masalah RPi SD, praktik lapangan Anda sendiri yang sebenarnya, atau, lebih baik lagi: studi kasus secara eksperimental menghilangkan prasangka kerusakan SD "rumor".
Sz.
1
Lihat, semua yang saya bicarakan terkait dengan referensi. OK, Anda ingin tahu bagaimana saya menggunakannya? Saya tidak! Karena Pi, benar-benar menyebalkan! Kartu SD terus gagal di dalamnya, dan itu bukan kesalahan kartu SD. Entah perangkat keras atau lunak Pi merusak hal-hal ini. Saya pikir itu adalah tegangan tidak stabil yang disediakan oleh catu daya USB murah. B + baru memiliki regulator pada mereka. Terima kasih Tuhan! Ini WiFi tetap, umpan balik suara dan saya berdoa kepada Tuhan kartu SD bata. Saya masih perlu memesan beberapa tetapi saya bermain dengan Netduino sekarang, tidak ada SD yang jatuh pada itu.
Piotr Kula
1
@pumkin saya menggunakan SanDisk. Bukan yang ebay. Ada perbedaan besar antara memantulkan kartu SD (untuk digunakan kembali dalam kamera, katakanlah) dan menggunakannya sebagai rumah sistem operasi. Anda harus lebih spesifik tentang seberapa tepatnya Anda menggunakan milik Anda, dan berapa lama mereka bertahan. Tidak perlu bagi saya untuk mengulangi komentar Softids, tetapi saya sepenuhnya setuju dengannya. .
RolfBly
4

Seperti disebutkan sebelumnya, masalah utama adalah file dan direktori yang tidak layak disimpan di antara reboot, tetapi sering ditulis, yaitu file cache, folder unduhan, dll.

Raspbian serta Debian dan Ubuntu memiliki paket yang disebut unburden-home-dir yang tujuan utamanya adalah untuk menghubungkan file-file tersebut ke tempat yang tidak terlalu bermasalah seperti misalnya tmpfsmount atau harddisk eksternal yang cenderung tidak mudah rusak.

Ini biasanya dijalankan pada waktu login di bawah X dan ditargetkan ke file cache aplikasi GUI, tetapi juga dapat dipanggil dari skrip atau semacamnya dan dikonfigurasi untuk file sewenang-wenang di direktori home pengguna.

Axel Beckert
sumber
3

Ini adalah rekomendasi saya untuk Debian 8.0 (Jessie)

Mereka didasarkan pada iotop -bktoqqqdan iostat -dzp 5. Anda harus menjalankan perintah ini terlebih dahulu untuk mendapatkan gambaran tentang masalah dan solusinya.

1. Nonaktifkan swap

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

2. Gunakan opsi pemasangan dan RAM

Pasang semua partisi pada kartu SD dengan noatime,commit=1800opsi dan pasang direktori berikut ke RAM dengan entri ini di Anda /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

Komit akan menunda penulisan dan mengumpulkannya terlebih dahulu.

3. Log file log paling sering ke /var/tmp/log/

Lihat uraian saya Bagaimana saya bisa mengurangi penulisan ke file log .

4. Hentikan Chromium dari memalu kartu SD

Ternyata Chromium menulis banyak dan tidak dapat dihentikan (lihat 176727 , 52663 ). Ini memengaruhi cache dan direktori data pengguna. The Chromium / Tips dan trik menjelaskan bagaimana ini dapat dipindahkan ke RAM. Karena Raspberry tidak memiliki banyak RAM, Tab Suspender yang disarankan berguna untuk menghemat RAM.

a) Cache

Batasi ukuran cache dan pindahkan ke RAM dengan mengedit /etc/chromium-browser/customizations/00-rpi-varske

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

Sekarang cache cukup kecil untuk dipindahkan ke disk RAM dengan mengubah XDG_CACHE_HOMEentri /etc/security/pam_env.confmenjadi

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

Sekarang dua pengguna saya memiliki cache browser kecil dalam RAM. Jika itu tidak cukup bagi Anda untuk mengubah cache atau / tmp / ukuran sesuai kebutuhan.

b) Dir data pengguna

Juga dir data pengguna ( .config/chromium/) mengalami penulisan yang berat. The Profil-sync-daemon direkomendasikan oleh Chromium / Tips dan trik . Itu dikembangkan untuk mengelola profil browser Anda di tmpfs dan untuk secara berkala menyinkronkannya kembali ke disk fisik Anda. Sayangnya paket tersebut belum menjadi bagian dari distribusi Raspbian 8.0 (Jessie). Jadi saya belum menguji ini.

5. Ruang kosong pada kartu SD

Ruang kosong dengan menghapus paket dan file yang tidak Anda butuhkan. Ini akan menyebarkan pemakaian lebih merata di seluruh partisi Anda.

Selesai!

Sekarang jalankan iotop -bktoqqqdan iostat -dzp 5lagi dan lihat pengurangan yang signifikan dalam akses tulis ketika sistem idle. Tidak ada yang ditulis ke disk saya selama beberapa menit. Dan jangan khawatir tentang LED ACT hijau berkedip . Tampaknya itu bukan indikator akses tulis yang baik.

Frank Breitling
sumber
2

Hanya sedikit pengurangan siklus tulis dapat dicapai dengan mengalirkan output syslog ke server lain. Tentu saja, memiliki server dengan syslogdmenjalankan seperti itu merupakan prasyarat. Namun, dengan Pi menjadi mainan untuk penggemar Linux, ini mungkin sangat sering terjadi. :-)

Untuk mengaktifkan streaming ini cukup masukkan pernyataan like

*.*    @myserver.mydomain

di bagian atas file /etc/rsyslog.conf, beri komentar semua baris lainnya, dan mulai ulang logging dengan mengeluarkan service rsyslog restart. Setelah ini, pesan akan muncul di server yang dipilih.

Satu efek samping yang jelas menguntungkan dari ini adalah bahwa Anda dapat dengan mudah memonitor Pi Anda bersama dengan mesin lain di server yang sama. Satu kelemahan adalah bahwa selama startup sistem dan shutdown Anda dapat kehilangan beberapa pesan ketika koneksi jaringan belum dibuat atau sudah dimatikan.

Marcus Rickert
sumber
Perhatikan bahwa sistem Linux modern (termasuk CentOS 7 dan Debian 8, dan sistem berdasarkan pada yang seperti Raspbian 8) melakukan semua pencatatan journaldyang menyimpannya dalam jurnal systemd. Mereka juga mengkonfigurasi journalduntuk meneruskan log ke soket syslog tempat rsyslogdmendengarkan; yang menempatkan salinan tambahan pesan dalam file log di bawah /var/log. Jika Anda merasa nyaman menggunakan journalctluntuk menelusuri log Anda (dan berfungsi jauh lebih baik daripada /var/logsetelah Anda terbiasa), Anda dapat sepenuhnya menonaktifkan rsyslogdan menyimpan beberapa penulisan.
Curt J. Sampson
1

Catatan: Batas 100.000 siklus adalah hipotesis yang berlaku untuk setiap perangkat komputasi, bahkan tombol pada keyboard. Saya percaya menjalankan Pi dalam kondisi pendinginan yang tepat dan siklus shutdown / start yang tepat akan memberikan hasil yang lebih baik daripada beralih ke analogi.

Juga ini dapat menambah pendapat saya di atas.

Tambahkan pengguna baru di samping pengguna Pi [default]. Arahkan direktori home dari pengguna baru di drive eksternal [ibu jari / hard drive]. Berikan izin baru kepada pengguna baru, dan mulailah menggunakannya sebagai akun utama Anda.

Saya harap ini membantu..

batu ujian
sumber
Saya selalu mencoba mengetik lebih sedikit untuk menghemat keyboard;)
Piotr Kula
Menambahkan pengguna baru tidak akan mencegah kesibukan /var/logdan /var/tmp. Juga, memiliki bukti dari pengalaman bahwa pendinginan yang tepat membuat perbedaan jauh lebih baik daripada mengatakan "Saya percaya".
RolfBly
0

Gunakan daemon syslog busybox (dalam paket busybox-syslogd pada Raspbian / Debian / Ubuntu) alih-alih daemon syslog default (biasanya rsyslog). Secara default pada Raspbian / Debian / Ubuntu, syslogd dari busybox hanya masuk ke buffer cincin di memori dan tidak ke disk. Ring buffer memiliki ukuran 128kB secara default, yaitu entri log lama akan segera diputar dan hilang. Tetapi Anda dapat mengkonfigurasinya untuk menggunakan lebih banyak RAM untuknya.

Namun demikian ini adalah solusi yang jauh lebih baik daripada tidak memiliki daemon syslog sama sekali, yaitu Anda masih dapat login dan membaca entri log dari kira-kira. beberapa jam atau hari terakhir (tergantung pada ukuran buffer cincin yang dikonfigurasi) dengan perintah logread. Anda juga dapat menggunakan logread -funtuk mendapatkan tail -fperilaku yang serupa untuk mis. Hanya menyimpan entri log yang menarik menggunakan skrip filter atau untuk meneruskan entri log melalui jaringan di tempat lain, misalnya menggunakan stunnelatau semacamnya.

Axel Beckert
sumber
-1

Beberapa hal yang saya lakukan:

chmod dari dfys-swapfile (di suatu tempat di / etc - tidak dekat PI saat ini) ke:

sudo chmod a-x dphys-swapfile

Saya mendapatkan kesalahan kecil saat boot (tidak dapat memulai layanan dphys-swapfile) - Misalkan ada cara yang lebih baik ... rc-update ??

Juga, saya mengambil gambar dari modul kamera, untuk akhirnya memakai server web saya (Pi). Saya diformat / dev / ram0 ke ext2, memasangnya sebagai / media / ramdrive (menggunakan /etc/init.rc, saya pikir). Ini 4meg, cukup besar untuk satu jepret. Tidak menulis ke SD.

Server (oululife.dnsdynamic.com) bersifat percobaan, tetapi di web. Untuk benar-benar menekankan hal itu, saya membiarkannya juga menayangkan episode MP4 dari 'Heartbeat *'. Ini menjalankan lighttpd, Mysql, PHP, WordPress, dan bahkan ketika saya streaming jarak jauh dari web itu hampir tidak berkeringat, memuat rata-rata sekitar 0,2. Tidak ada over-clocking sama sekali. Rev Model-B. 2, hingga 24/7. Jadi, jika saya bisa memasukkan file log saya ke 15 / dev / ramX lainnya, saya rasa kartu Micro-SD 16G saya akan bertahan bertahun-tahun ....

pengguna10419
sumber