ฉันไม่ใช่ทุกคนที่ต้องการซื้อฮาร์ดดิสก์ USB แต่ฉันรู้ว่าการ์ด SD ไม่เหมาะสำหรับการอ่านและเขียนซ้ำ ๆ
มีขั้นตอนใดบ้างที่ฉันสามารถใช้เพื่อยืดอายุการ์ด SD ของฉันในขณะที่ Raspberry Pi ใช้งานอยู่
ฉันไม่ใช่ทุกคนที่ต้องการซื้อฮาร์ดดิสก์ USB แต่ฉันรู้ว่าการ์ด SD ไม่เหมาะสำหรับการอ่านและเขียนซ้ำ ๆ
มีขั้นตอนใดบ้างที่ฉันสามารถใช้เพื่อยืดอายุการ์ด SD ของฉันในขณะที่ Raspberry Pi ใช้งานอยู่
คำตอบ:
วิธีการเหล่านี้ควรเพิ่มอายุการใช้งานของการ์ด SD โดยลดจำนวนการอ่าน / เขียนด้วยวิธีต่าง ๆ :
การสลับเป็นกระบวนการของการใช้ส่วนหนึ่งของการ์ด SD เป็นหน่วยความจำระเหย สิ่งนี้จะเพิ่มจำนวนแรมที่มี แต่จะส่งผลให้มีการอ่าน / เขียนจำนวนมาก ไม่น่าจะเพิ่มประสิทธิภาพอย่างมีนัยสำคัญ
ปิดใช้งานการสลับโดยใช้swapoff
คำสั่ง:
sudo swapoff --all
คุณต้องป้องกันไม่ให้มันกลับมาหลังจากรีบูต:
sudo apt-get remove dphys-swapfile
ลบมันออกอย่างถาวร ดีที่สุดที่จะลบเพราะการตั้งค่าเป็นCONF_SWAPSIZE
0 ตามที่อธิบายในคำตอบนี้ดูเหมือนจะไม่ทำงานและยังคงสร้างไฟล์ swap ขนาด 100MB หลังจากรีบูต/etc/fstab
การใช้ระบบไฟล์เจอร์นัลเช่นext3
หรือext4
ไม่มีเจอร์นัลเป็นตัวเลือกในการลดการอ่าน / เขียน ข้อเสียเปรียบที่ชัดเจนของการใช้ระบบไฟล์ที่ปิดใช้งานการทำเจอร์นัลคือการสูญเสียข้อมูลอันเป็นผลมาจากการลงจากหลังม้าที่ไม่สง่างาม
คุณสามารถปิดการบันทึกในโดยการติดตั้งเป็นext3
ext2
คุณสามารถปิดการใช้งานการบันทึกรายวันext4
บนไดรฟ์ที่ไม่ได้ประกอบเข้าไปดังนี้
tune4fs -O ^has_journal /dev/sdaX
e4fsck –f /dev/sdaX
sudo reboot
กำหนด noatime ติดธงพาร์ทิชันที่อาศัยอยู่ใน SD card /etc/fstab
โดยเพิ่มส่วนตัวเลือกของพาร์ทิชันใน
การอ่านการเข้าถึงระบบไฟล์จะไม่ส่งผลให้มีการปรับปรุงข้อมูล atime ที่เกี่ยวข้องกับไฟล์อีกต่อไป ความสำคัญของการตั้งค่า noatime คือมันไม่จำเป็นต้องใช้ระบบเพื่อทำการเขียนไปยังระบบไฟล์สำหรับไฟล์ที่กำลังอ่านอยู่ เนื่องจากการเขียนอาจมีราคาค่อนข้างแพงดังที่กล่าวไว้ในหัวข้อก่อนหน้านี้อาจส่งผลให้ได้รับประสิทธิภาพที่วัดได้ โปรดทราบว่าข้อมูลเวลาเขียนลงในไฟล์จะยังคงได้รับการอัปเดตต่อไปทุกครั้งที่มีการเขียนไฟล์ลงไปเมื่อเปิดใช้งานตัวเลือกนี้
ไดเรกทอรีที่ใช้อย่างมากเช่น/var/tmp/
และอาจ/var/log
ถูกย้ายไปที่ RAM ใน/etc/fstab
ลักษณะนี้:
tmpfs /var/tmp tmpfs nodev,nosuid,size=50M 0 0
ซึ่งจะอนุญาตให้/var/tmp
ใช้ RAM 50MB เป็นพื้นที่ดิสก์ ปัญหาเดียวของการทำเช่นนี้คือไดรฟ์ที่ติดตั้งใน RAM จะไม่คงอยู่ในการรีบูต ดังนั้นหากคุณติดตั้ง/var/log
และระบบของคุณพบข้อผิดพลาดที่ทำให้รีบูตคุณจะไม่สามารถหาสาเหตุ
นอกจากนี้คุณยังสามารถติดตั้งบางไดเรกทอรีในฮาร์ดดิสก์ USB ถาวร รายละเอียดเพิ่มเติมสามารถพบได้ในคำถามนี้
Raspberry Pi ยังสามารถบู๊ตพาร์ติชั่นรูทได้จากไดรฟ์ภายนอก นี่อาจเป็นผ่าน USB หรืออีเธอร์เน็ตและหมายความว่าการ์ด SD จะถูกใช้เพื่อมอบสิทธิ์ให้กับอุปกรณ์อื่นเท่านั้นในระหว่างการบู๊ต สิ่งนี้ต้องใช้การแฮ็คเคอร์เนลเล็กน้อยเพื่อให้บรรลุผลเพราะฉันไม่คิดว่าเคอร์เนลเริ่มต้นรองรับที่เก็บข้อมูล USB คุณสามารถค้นหาข้อมูลเพิ่มเติมได้ที่คำถามนี้หรือนี้โพสต์บล็อกภายนอก
noatime
ควรเป็นค่าเริ่มต้น
noatime
ไม่ใช่ค่าเริ่มต้นอย่างน้อยใน Arch
/var/tmp
ไปสู่หน่วยความจำ /tmp
บางทีคุณอาจจะสับสนกับ
noatime
ทำให้คุณเกิดปัญหาคุณสามารถใช้relatime
ซึ่งจะช่วยลดการเขียนดิสก์ในการอ่านแทนการลบออกทั้งหมด
หากตัวเลือกของJivingsไม่สามารถทำได้สำหรับแอปพลิเคชันของคุณตัวเลือกอื่นเพื่อยืดอายุการใช้งานของคุณก็คือการใช้การ์ด SD ที่ใหญ่กว่าที่คุณต้องการ
การ์ด SD ที่ดีที่สุดใช้อัลกอริธึมการปรับระดับการสึกหรอเพื่อลดจำนวนครั้งที่แต่ละบล็อกถูกเขียนดังนั้นหากการ์ด SD มีขนาดใหญ่กว่าที่คุณต้องการการสึกหรอสามารถแพร่กระจายไปทั่วพื้นที่ว่างขนาดใหญ่กว่ามาก
เหตุผลที่ทำให้การปรับระดับการสึกหรอมีความสำคัญมากคือระบบไฟล์บางระบบเช่นFAT (รูปแบบเริ่มต้นสำหรับการ์ด SD จำนวนมาก) ใช้ค้อนเซกเตอร์เดียวกันซ้ำแล้วซ้ำอีก
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งนี้ให้ดูคำตอบสำหรับคำถามจริงหรือไม่ว่าการ์ด SD / MMC ไม่ได้ปรับระดับด้วยคอนโทรลเลอร์ของตัวเอง? มากกว่าในElectronics Stack Exchangeโดยเฉพาะคำตอบนี้
สถิติหนึ่งที่น่าสนใจจากคำตอบนี้ก็คือ
ใช้การ์ด 2GB และเขียนมันเริ่มต้นซ้ำแล้วซ้ำอีกโดยเฉลี่ยประมาณ 10TB ก่อนที่การ์ดจะตายและไม่สามารถเขียนได้อีกต่อไป
แต่สิ่งที่น่ากังวลก็คือ
การ์ด SD จะไม่แจ้งให้คุณทราบเมื่อข้อมูลไม่ดีเช่นไม่คืนข้อผิดพลาด I / O เหมือนกับฮาร์ดไดรฟ์ PC
สิ่งนี้อาจทำให้การเลือกระบบไฟล์ของคุณมีความสำคัญหากคุณต้องการรับประกันการจัดเก็บที่เชื่อถือได้
หมายเหตุสุดท้ายประการหนึ่ง: การเพิ่มขนาดของการ์ด SD เป็นสองเท่าอาจทำให้อายุการใช้งานเพิ่มขึ้นเป็นสองเท่า
นั่นคือถ้าคุณมีการ์ด SD 2 GB ที่มีฟรี 200 MB แล้วเปลี่ยนเป็นการ์ด 4 GB จะให้พื้นที่ว่าง 11 เท่าความสามารถในการปรับระดับและอายุการใช้งานที่ยืนยาวในขณะที่เปลี่ยนเป็นการ์ด 16 GB จะให้ 71 ครั้งฟรี ช่องว่าง
MMC_ERASE
คำสั่ง(เป็นทางเลือก) ที่กำหนดไว้ในมาตรฐาน MMC / SD เพื่อจุดประสงค์นี้ ถึงแม้ว่า SD-Cards ทั้งหมดที่ฉันได้ลองมีเพียงอันเดียว (- อันที่มาพร้อมกับ Pi ของฉัน) จริง ๆ แล้วมันรองรับ
สิ่งเดียวที่ฉันเห็นคือไม่ต้องเปลี่ยนการ์ด SD
การสลับการ์ด Sd น่าจะเป็นสิ่งที่สามารถฆ่าการ์ด SD ของคุณได้
หากคุณต้องการ RAM เพิ่มเติมคุณสามารถลองใช้ zram ได้ที่โพสต์บนhttp://raspberry.pi.gw.gd/t50-Using-ZRAM.htmlให้รายละเอียดเกี่ยวกับการใช้ ZRAM บนราสเบอร์รี่ pi
ข้อมูลเพิ่มเติมสำหรับ zram บนhttp://en.wikipedia.org/wiki/ZRam
นอกจากนี้การ์ด SD รุ่นล่าสุดนั้นมีความแข็งแกร่งมากกว่าการ์ดรุ่นเก่ามากการซื้อการ์ด SD ระดับ 10 แบบใหม่น่าจะเป็นตัวเลือกที่ดีคือคุณต้องการเห็นมันเป็นเวลานาน
คุณสามารถลองใช้ Puppy Linux ซึ่งเป็น ram-resident อย่างสมบูรณ์ มีขนาดเล็กมากและรวดเร็วอย่างเห็นได้ชัดเนื่องจากทำงานในหน่วยความจำอย่างสมบูรณ์โดยการคัดลอกอิมเมจหน่วยความจำ (ในการ์ด SD ในกรณีของคุณ) ไปยัง RAM ตอนบูตจากนั้นทำการล้างการเปลี่ยนแปลงเป็นระยะ ๆ เพื่อจัดเก็บ ความถี่ของการบันทึกนี้ถูกควบคุมโดยผู้ใช้รวมถึงด้วยตนเอง
Puppy ใช้ระบบไฟล์ aufs แบบเลเยอร์หรือเก่ากว่า unionfs กับระบบไฟล์ Linux มาตรฐานใด ๆ เช่น ext3 หรือ ext4 นอกจากนี้ยังสามารถอยู่ใน FAT หรือพาร์ทิชัน NTFS
มีอย่างน้อยสองรุ่นของลูกสุนัขที่ออกแบบมาเป็นพิเศษสำหรับ RPi ซึ่งหนึ่งในนั้นสร้างขึ้นโดย "Puppy Master" Barry Kauler
สำหรับข้อมูลเพิ่มเติมไปที่http://puppylinux.org/wikka/Puppi
คนส่วนใหญ่ที่นี่พูดคุยเกี่ยวกับสมมติฐานของพวกเขาและไม่ fom ประสบการณ์ส่วนตัว
ฉันใช้ RaspberryPi กับ RasPBX เป็นสวิตช์บอร์ดของ บริษัท พร้อม 8 ส่วนขยายและแฟกซ์ เรามี 3 ฐาน ip และหนึ่งบรรทัดผ่าน LinkSYS SPA3000 ใช้เวลาเพียง 1 เดือนสำหรับ SDCard ของ Kingston ที่เริ่มต้นใช้งานเพื่อกัดฝุ่น
ฉันยังคงทำการทดลองและไม่มีข้อมูลสำรอง BTW the Pi เชื่อมต่อกับ APC UPS ฉันตั้งค่า RasPBX ใหม่ทั้งหมดตั้งแต่เริ่มต้น แต่คราวนี้ฉันย้าย / var / log และ / var / lib / mysql ไปยัง NAS องค์กรของเรา SD นี้ยังคงตกลงหลังจาก 3 เดือน
จากนั้นเรามีฤดูร้อนที่ร้อนแรงมาก ในช่วงเดือนที่สามปี่เริ่มตรวจไม่พบอีเธอร์เน็ตจากสีน้ำเงิน แล้ววันหนึ่งฉันก็พบว่าไฟ LED ทั้งหมดสลัวและไม่สามารถบู๊ตได้
ฉันแทนที่ Pi ด้วยกล่องใหม่ที่ใช้งานได้จริง คำสั่งที่ผิดปกติเริ่มทำงานหลังจากที่ทำให้เครื่องเย็นลง แต่มันใช้งานได้ค่อนข้างผิดปกติและเมื่อบู๊ตกับ RasPBX โหมดวิดีโอจะไม่เปลี่ยนเป็นกราฟิก มันเลอะจริงๆ ฉันสั่งชุดฮีทซิงค์ตั้งแต่นั้น Pi ใหม่ใช้งานได้ตอนนี้นานกว่า 2 เดือน 7/24
ดังนั้นถ้าคุณจะใช้ pi ในสภาพแวดล้อม 7/24 อย่าถูกฮีทซิงค์ - ซื้อฮีทซิงค์และหลีกเลี่ยงการใช้ / var / log และไดเรกทอรีไม่ว่างอื่น ๆ ผ่านการ์ด SD
ฉันได้เปรียบเทียบโซลูชันทั้งหมดที่ใช้ประโยชน์ TMPFS และคำตอบที่ดีที่สุดคือการสังเคราะห์สคริปต์เตรียม - dirs (ดูhttp://grenzdebiel.dyndns.org/wordpress/?p=98 ) กับเหมาะสม / etc / ค่าเริ่มต้น / tmpfs ( (ดูhttp://www.a-netz.de/2013/02/ramdisks-for-the-raspberry/ )
ขั้นตอนที่จำเป็นในการแสดงบนราสเบียนคือ:
1. แก้ไข/etc/default/tmpfs
และตั้งค่า :
RAMLOCK=yes
RAMSHM=yes
RAMTMP=yes
ฉันขอแนะนำขนาดต่อไปนี้:
TMPFS_SIZE=10%VM
RUN_SIZE=10M
LOCK_SIZE=5M
SHM_SIZE=10M
TMP_SIZE=25M
2. เปิดใช้งานไดเรกทอรีเพิ่มเติมโดยใช้ / 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. ใช้สคริปต์/etc/init.d/prepare-dirs
เพื่อสร้างไดเรกทอรีที่หายไป/var/log
เพื่อให้ daemons ทั้งหมดเริ่มต้น
ดูที่สุดสิ่งที่มีอยู่ในกรณีของฉัน
4. ทำให้สคริปต์ทำงานchmod 755 /etc/initd/prepare-dirs
ได้
5. ตรวจสอบให้แน่ใจว่าสคริปต์จะเริ่มต้นก่อนการบูตก่อนที่ daemons ของคุณจะเริ่มต้น:
update-rc.d prepare-dirs defaults 01 99
เนื้อหาของ/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
แค่นั้นแหละ.
ปิดการใช้งาน Swapfile:
sudo dphys-swapfile swapoff
ไม่จำเป็นต้องถอนการติดตั้งอย่างไรก็ตามหากคุณไม่ได้ใช้งานและต้องการพื้นที่คุณสามารถลบออกได้อย่างปลอดภัย คำสั่งสำรองที่จะลบ:
ถอนการติดตั้ง sudo dphys-swapfile
การใช้งาน: / sbin / dphys-swapfile {ตั้งค่า | swapon | swapoff | ถอนการติดตั้ง}
ความทนทานของเซลล์แฟลช:
มันเป็นคณิตศาสตร์อย่างหมดจดในการ์ดขนาดใหญ่และการสึกหรอตามปกติ หากคุณต้องเขียนถึงแฟลชการ์ดชนิด MLC 8GB ทั้งกลางวันและกลางคืนซ้ำแล้วซ้ำอีกมันจะใช้เวลาประมาณ 30 วันในการฆ่ามัน
ตอนที่ 99 ที่ Techsnap พูดถึงการเสื่อมสภาพ SSD และ Allen อธิบายว่ามันเป็นไปไม่ได้ที่จะเสื่อมสภาพ SSD ในการใช้งานในชีวิตประจำวันและเราไม่จำเป็นต้องกังวลเกี่ยวกับการปิดใช้งาน swap, crons และทุกสิ่ง มันใช้งานได้ทันที! การปรับระดับการสึกหรออัจฉริยะจะดูแลทุกอย่าง
การสวมใส่ตามปกติที่เสนอโดย KINGSTONควรให้ชีวิต 27 ปีกับชีวิตในกล้องดิจิตอลระดับมืออาชีพ
สำหรับกล้อง DSLR ทั่วไปคุณอาจเติมมันทุกๆสองสามเดือน .. ขึ้นอยู่กับว่าคุณเดินทางไปมากแค่ไหน เมื่อพิจารณาถึง Pi หากคุณทดลองจัดสรรและแฟลชซ้ำบ่อยๆอาจต้องเสียค่าใช้จ่ายเพิ่มเติม โดยปกติเมื่อคุณมีความสุขกับ distro ... คุณจะไม่กระพริบเป็นเวลาหลายเดือนหรือหลายปี ดังนั้นเพื่อยืดเวลาการสวมใส่ SD จึงเป็นการดีที่จะทำตามคำแนะนำในการลด IO บน SD
ราคาแฟลชลดลงและเทคโนโลยีดีขึ้นมาก
การ์ด SD ส่วนใหญ่จะมีอายุการใช้งานยาวนานกว่าสองหรือสามรุ่นของอุปกรณ์และในเวลานั้นจะได้รับการพิจารณาว่ามีขนาดเล็กและช้าเกินไปที่จะใช้กับการอัพเกรดที่ดีกว่าและราคาถูกกว่า!
ดังที่ได้กล่าวมาแล้วปัญหาหลักคือไฟล์และไดเรกทอรีซึ่งไม่คุ้มค่าที่จะถูกบันทึกระหว่างการรีบูตเครื่อง แต่เขียนบ่อยๆเช่นไฟล์แคชไฟล์ดาวน์โหลดโฟลเดอร์เป็นต้น
Raspbian และ Debian และ Ubuntu มีแพ็คเกจที่เรียกว่าunburden-home-dirซึ่งมีจุดประสงค์หลักคือการเชื่อมโยงไฟล์ดังกล่าวไปยังสถานที่ที่มีปัญหาน้อยกว่าเช่นการtmpfs
ติดตั้งหรือฮาร์ดดิสก์ภายนอกซึ่งไม่น่าจะสวมใส่ออกไป
โดยทั่วไปแล้วจะทำงานเมื่อเข้าสู่ระบบภายใต้ X และกำหนดเป้าหมายไปยังไฟล์แคชของแอปพลิเคชัน GUI แต่ยังสามารถเรียกได้จากสคริปต์หรือเช่นนั้นและกำหนดค่าสำหรับไฟล์โดยพลการในไดเรกทอรีหลักของผู้ใช้
พวกเขาจะอยู่บนพื้นฐานและiotop -bktoqqq
iostat -dzp 5
คุณควรรันคำสั่งเหล่านี้ก่อนเพื่อรับทราบปัญหาและวิธีแก้ไข
sudo systemctl disable dphys-swapfile
sudo rm /var/swap
เมานต์พาร์ติชั่นทั้งหมดบนการ์ด SD ด้วยnoatime,commit=1800
ตัวเลือกและติดตั้งไดเรกทอรีต่อไปนี้เป็น RAM ด้วยรายการเหล่านี้ใน/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
กระทำจะชะลอการเขียนและรวบรวมพวกเขาก่อน
/var/tmp/log/
ดูคำอธิบายของฉันฉันจะลดการเขียนลงในล็อกไฟล์ได้อย่างไร
เมื่อปรากฎว่า Chromium เขียนอย่างหนักและไม่สามารถหยุดได้ (ดู176727 , 52663 ) สิ่งนี้มีผลต่อแคชและไดเรกทอรีข้อมูลผู้ใช้ โครเมี่ยม / เทคนิคและเคล็ดลับอธิบายวิธีการนี้สามารถเคลื่อนย้ายไปที่ RAM เนื่องจาก Raspberry มี RAM ไม่มากแท็บ Suspender ที่แนะนำจึงมีประโยชน์สำหรับการบันทึก RAM
จำกัด ขนาดแคชและย้ายไปยังแรมโดยการแก้ไข/etc/chromium-browser/customizations/00-rpi-vars
ไป
CHROMIUM_FLAGS="--disable-quic --enable-fast-unload --enable-tcp-fast-open --disk-cache-size=10000000 --media-cache-size=5000000"
ตอนนี้แคชมีขนาดเล็กพอที่จะย้ายไปยังดิสก์ RAM โดยเปลี่ยนXDG_CACHE_HOME
รายการใน/etc/security/pam_env.conf
เป็น
XDG_CACHE_HOME DEFAULT=/tmp/@{PAM_USER}/cache
ตอนนี้ผู้ใช้สองคนของฉันมีแคชของเบราว์เซอร์ขนาดเล็กใน RAM หากนั่นไม่เพียงพอสำหรับคุณเปลี่ยนแคชหรือ / tmp / size ตามความจำเป็น
นอกจากนี้ข้อมูลผู้ใช้ dir ( .config/chromium/
) ประสบกับการเขียนจำนวนมาก โปรไฟล์ซิงค์-ภูตถูกแนะนำโดยโครเมี่ยม / เทคนิคและเคล็ดลับ ได้รับการพัฒนาเพื่อจัดการโปรไฟล์เบราว์เซอร์ของคุณใน tmpfs และซิงค์เป็นระยะ ๆ กลับไปที่ดิสก์ทางกายภาพของคุณ น่าเสียดายที่แพ็คเกจนี้ยังไม่ได้เป็นส่วนหนึ่งของการกระจาย Raspbian 8.0 (Jessie) ดังนั้นฉันยังไม่ได้ทดสอบสิ่งนี้
เพิ่มพื้นที่ว่างด้วยการถอนการติดตั้งแพ็คเกจและไฟล์ที่คุณไม่ต้องการ สิ่งนี้ควรกระจายการสึกหรอให้ทั่วพาร์ติชันของคุณมากขึ้น
ตอนนี้ทำงานiotop -bktoqqq
และiostat -dzp 5
อีกครั้งและเห็นการลดลงอย่างมีนัยสำคัญในการเข้าถึงการเขียนเมื่อระบบไม่ได้ใช้งาน ไม่มีสิ่งใดถูกเขียนลงดิสก์ของฉันเป็นเวลาหลายนาที และไม่ต้องกังวลเกี่ยวกับACT ไฟ LED สีเขียวกระพริบ เห็นได้ชัดว่ามันไม่ใช่ตัวบ่งชี้การเข้าถึงการเขียนที่ดี
สามารถลดรอบการเขียนเพียงเล็กน้อยได้โดยการสตรีมเอาต์พุต syslog ไปยังเซิร์ฟเวอร์อื่น แน่นอนว่าการมีเซิร์ฟเวอร์ที่มีการsyslogd
ทำงานเป็นเงื่อนไขที่จำเป็น อย่างไรก็ตามด้วย Pi เป็นของเล่นสำหรับผู้ที่ชื่นชอบลินุกซ์นี่อาจเป็นกรณี :-)
เพื่อเปิดใช้งานการสตรีมนี้เพียงแค่ใส่คำสั่งเช่น
*.* @myserver.mydomain
ที่สวยมากด้านบนของของไฟล์ที่/etc/rsyslog.conf
แสดงความคิดเห็นออกทั้งหมดสายอื่น ๆ service rsyslog restart
และเริ่มต้นการเข้าสู่ระบบโดยการออก หลังจากนี้ควรมีข้อความเข้ามาในเซิร์ฟเวอร์ที่เลือก
ผลข้างเคียงที่ชัดเจนอย่างหนึ่งของข้อดีนี้คือคุณสามารถตรวจสอบ Pi ของคุณร่วมกับเครื่องจักรอื่น ๆ บนเซิร์ฟเวอร์เดียวกันได้อย่างง่ายดาย ข้อเสียประการหนึ่งคือในระหว่างการเริ่มต้นระบบและการปิดระบบคุณอาจสูญเสียข้อความบางส่วนเมื่อการเชื่อมต่อเครือข่ายยังไม่ได้รับการจัดตั้งขึ้นหรือถูกปิดไปแล้ว
journald
ที่เก็บไว้ใน systemd journal พวกเขายังกำหนดค่าjournald
ให้ส่งต่อบันทึกไปยังซ็อกเก็ต syslog ที่rsyslogd
กำลังฟังอยู่ /var/log
ที่สถานที่สำเนาเพิ่มเติมของข้อความในล็อกไฟล์ที่อยู่ภายใต้ หากคุณคุ้นเคยกับjournalctl
การเรียกดูบันทึกของคุณ (และมันทำงานได้ดีกว่า/var/log
เมื่อคุณคุ้นเคย) คุณสามารถปิดการใช้งานrsyslog
และบันทึกการเขียนบางส่วนได้อย่างสมบูรณ์
หมายเหตุ: ขีด จำกัด 100,000 รอบเป็นสมมติฐานที่ใช้กับอุปกรณ์คอมพิวเตอร์ทุกเครื่องแม้แต่ปุ่มในแป้นพิมพ์ฉันเชื่อว่าการใช้ Pi ในสภาพการระบายความร้อนที่เหมาะสมและรอบการปิด / เปิดที่เหมาะสมจะให้ผลลัพธ์ที่ดีกว่าแทนที่จะไปเปรียบเทียบ
นอกจากนี้อาจเพิ่มความคิดเห็นข้างต้นของฉัน
เพิ่มผู้ใช้ใหม่นอกเหนือจากผู้ใช้ Pi [ค่าเริ่มต้น] ชี้โฮมไดเร็กตอรี่ของผู้ใช้ใหม่ในไดรฟ์ภายนอก [thumb / hard drive] มอบสิทธิ์ผู้ใช้ขั้นสูงสำหรับผู้ใช้ใหม่และเริ่มใช้เป็นบัญชีหลักของคุณ
ฉันหวังว่านี่จะช่วยได้..
/var/log
/var/tmp
นอกจากนี้การมีหลักฐานจากประสบการณ์ ว่าการระบายความร้อนที่เหมาะสมนั้นสร้างความแตกต่างได้ดีกว่าการพูดว่า "ฉันเชื่อ"
ใช้ busybox 'syslog daemon (ในแพ็คเกจbusybox-syslogdบน Raspbian / Debian / Ubuntu) แทน syslog daemon เริ่มต้น (ปกติจะเป็น rsyslog) โดยค่าเริ่มต้นบน Raspbian / Debian / Ubuntu syslogd ของ busybox จะบันทึกเฉพาะในบัฟเฟอร์วงแหวนในหน่วยความจำและไม่ลงบนดิสก์ ค่าเริ่มต้นวงแหวนบัฟเฟอร์มีขนาด 128kB โดยค่าเริ่มต้นคือรายการบันทึกเก่าจะหมุนเวียนค่อนข้างเร็วและหายไป แต่คุณสามารถกำหนดค่าให้ใช้ RAM เพิ่มเติมได้
อย่างไรก็ตามนี่เป็นทางออกที่ดีกว่าการไม่มี syslog daemon เลยนั่นคือคุณยังสามารถเข้าสู่ระบบและอ่านรายการบันทึกของประมาณ ไม่กี่ชั่วโมงที่ผ่านมาหรือวัน (ขึ้นอยู่กับขนาดที่กำหนดของ buffer แหวน) logread
ที่มีคำสั่ง นอกจากนี้คุณยังสามารถใช้logread -f
เพื่อให้tail -f
พฤติกรรมเช่นเก็บเฉพาะรายการบันทึกที่น่าสนใจโดยใช้สคริปต์ตัวกรองหรือเพื่อส่งต่อรายการบันทึกผ่านเครือข่ายอื่น ๆ เช่นการใช้stunnel
หรือเช่น
สองสิ่งที่ฉันทำ:
chmod ของ dphys-swapfile (บางแห่งใน / อื่น ๆ - ไม่ใกล้ PI ในขณะนี้) ไปที่:
sudo chmod a-x dphys-swapfile
ฉันได้รับข้อผิดพลาดเล็กน้อยในการบูต (ไม่สามารถเริ่มบริการ dphys-swapfile) - สมมติว่ามีวิธีที่ดีกว่า ... rc-update ??
นอกจากนี้ฉันจับภาพจากโมดูลกล้องเพื่อวางบนเว็บเซิร์ฟเวอร์ของฉัน (Pi) ในที่สุด ฉันฟอร์แมต / dev / ram0 เป็น ext2 แล้วติดตั้งเป็น / media / ramdrive (โดยใช้ /etc/init.rc ฉันคิดว่า) มัน 4 megs ใหญ่พอสำหรับการถ่าย ไม่มีการเขียนไปยัง SD
เซิร์ฟเวอร์ (oululife.dnsdynamic.com) กำลังทดลอง แต่อยู่บนเว็บ ในการเน้นมันออกมาจริงๆฉันปล่อยให้มันสตรีมตอน MP4 ของ 'Heartbeat *' ด้วย มันทำงานบน lighttpd, Mysql, PHP, WordPress และแม้กระทั่งเมื่อฉันสตรีมบนเว็บจากระยะไกลมันแทบจะไม่ทำให้เหงื่อแตกโหลดเฉลี่ยประมาณ 0,2 ไม่มีการโอเวอร์คล็อกเลย Model-B rev. 2 เพิ่มขึ้น 24/7 ดังนั้นถ้าฉันสามารถนำ logfiles ของฉันไปสู่อีก 15 / dev / ramX ฉันคิดว่าการ์ด Micro-SD 16G ของฉันจะมีอายุนานขึ้น ....