題:
如何延長SD卡的壽命?
Highly Irregular
2012-06-13 11:30:27 UTC
view on stackexchange narkive permalink

我並不是很想購買USB硬盤,但是我知道SD卡不適合許多重複的讀寫操作。

我可以採取任何措施可以延長Raspberry Pi使用SD卡的壽命嗎?

如果您全天候全天候24/7全天寫入內容,則16GB的內容將持續30天。在正常使用情況下,基於10,000個寫入周期,您可以期望大約27年。如果在50年內使用100,000個寫週期。得益於巧妙的磨損均衡邏輯,卡片越大,使用壽命越長
哇,這真是太好了,我不知道您的16gb sd在全速運行下可持續30天的第一點。我想不斷地將視頻錄製到sd,然後再將其傳輸不是最好的主意。
有了這些解決方案帶來的所有性能優勢,為什麼不每幾年支付10美元呢?
十四 答案:
#1
+258
Jivings
2012-06-13 13:52:13 UTC
view on stackexchange narkive permalink

這些方法應通過以各種方式最大程度地減少讀寫次數來延長SD卡的使用壽命:

禁用交換

交換是使用部分SD卡的過程。 SD卡作為易失性存儲器。這將增加可用的RAM數量,但會導致大量的讀/寫操作。不可能顯著提高性能。

使用 swapoff 命令禁用交換:

  sudo swapoff --all  

還必須防止重新啟動後重新出現:

  • 對於使用 dphys-swapfile管理交換文件的Raspbian(而不是“常規”交換分區),您只需 sudo apt-get remove dphys-swapfile 即可將其永久刪除。最好刪除,因為將 CONF_SWAPSIZE 設置為0(如此答案所述)似乎無效,並且在重新啟動後仍會創建100MB的交換文件。
  • 對於其他使用交換分區而不是交換文件的發行版,請從 / etc / fstab

在文件系統上禁用日記功能刪除相應的行

不使用日誌而使用諸如 ext3 ext4 之類的日誌文件系統是減少讀寫的一種選擇。使用禁用日記功能的文件系統的明顯缺點是由於不當卸除而導致數據丟失(即,斷電後,內核鎖定等)。

您可以通過將其安裝為 ext2 來禁用 ext3 上的日記。

您可以禁用 ext4 在這樣的未安裝驅動器上:

  tune4fs -O ^ has_journal / dev / sdaXe4fsck –f / dev / sdaXsudo重新啟動 

noatime掛載標誌

通過將noatime掛載標誌添加到 / etc / fstab 中分區的選項部分,將其分配給SD卡上的分區。

讀取對文件系統的訪問將不再導致與文件關聯的atime信息的更新。 noatime設置的重要性在於,它消除了系統對簡單讀取的文件進行文件系統寫入的需求。如前一節所述,由於寫入可能會有些昂貴,因此可以帶來可觀的性能提升。請注意,只要啟用此選項,只要寫入文件,寫入文件的時間信息就會繼續更新。

RAM中的目錄

因為 / var / tmp / 以及可能的 / var / log 可以這樣重定位到 / etc / fstab 中的RAM:

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

這將允許 / var / tmp 使用50MB的RAM作為磁盤空間。這樣做的唯一問題是,RAM中安裝的所有驅動器在重啟後都不會持續存在。因此,如果您掛載 / var / log 並且系統遇到導致其重新啟動的錯誤,則您將無法找到原因。

外部硬盤上的目錄

您還可以在永久性USB硬盤上裝載某些目錄。有關更多詳細信息,請參見此問題

Raspberry Pi也可以從外部驅動器引導其根分區。這可以通過USB或以太網進行,這意味著SD卡僅在引導過程中用於委派給其他設備。這需要一些內核破解才能完成,因為我認為默認內核不支持USB存儲。您可以在此問題或此外部博客文章中找到更多信息。

`noatime`應該是默認值。
@AlexChamberlain:`noatime`不是默認的,至少在Arch上不是。
它是最新的Raspian版本。
@Jivings禁用交換並獲得保留給進程的完整RAM區域(例如,使用動態分配)時會發生什麼情況,程序崩潰?
我不知道@Makouda。我認為您應該提出一個新問題。
在Ubuntu(我用於操作和備份未安裝的RPi SD卡上的文件系統)中,您可以僅使用“ tune2fs -O ^ has_journal / dev / sdXN”禁用日記功能。註釋2,而非4(來自[here](http://askubuntu.com/questions/573957/disabling-journaling-in-ubuntu-14-04))
據此:http://superuser.com/a/168126/105936,將`/ var / tmp`放入內存並不是一個好主意。也許您將其與`/ tmp`混淆了。
@Jivings:不應該讀“ tune2fs”而不是“ tune4fs”嗎?
@CedricMartin我認為`tune4fs`是`ext4`的文件系統修改工具。但這似乎是“ tune2fs”的同義詞。您可能可以使用。
請注意,如果`noatime`引起了您的問題,您也可以使用`relatime`來顯著減少讀取時的磁盤寫操作,而不是完全刪除它們。
我可以在/上用DISABLE Journalling來補充它,如下所示: / mmcblk0p2#echo s> / proc / sysrq-trigger#echo b> / proc / sysrq-trigger`,如[waal70blog]所述(https://waal70blog.wordpress.com/2017/12/16/disable-journaling-在SD卡上的Raspberry-Pi /)
@ExploWare“禁用日記”是我回答的第二部分
@Jivings使用的確切短語是“您可以在這樣的已卸載驅動器上禁用ext4上的日誌記錄”,我想添加有關如何處理已安裝驅動器的註釋。因為在RaspberryPi sdcard中經常出現這種情況(通常是一個引導分區和一個根分區)
@ExploWare太好了,聽起來好像不是個好主意,我也不推薦這樣做。卸載步驟意味著將清除日記數據。如果您在已掛載的fs上禁用日誌功能,那麼我想您會丟失整個日誌,並且所有未提交的數據都將丟失,但是我不會嘗試進行查找。
@Jivings實際上確實在整潔地卸載文件系統,儘管使用了SytemRequests(例如,SysRq + U可以全部卸載並以只讀方式重新裝載)。
#2
+85
Mark Booth
2012-06-19 16:23:43 UTC
view on stackexchange narkive permalink

如果您的應用程序無法使用 Jivings提供的選項,那麼大大延長其壽命的另一種選擇是使用

留下足夠的可用空間

大多數體面的SD卡都使用耗損均衡算法來最大程度地減少每次使用的次數塊被寫入,因此,如果SD卡的大小超出了您的需要,則損耗可能會散佈在更大的可用空間區域。

損耗均衡如此重要的部分原因是某些文件系統(例如 FAT(許多SD卡的默認格式))反复敲擊相同的扇區。

有關此問題的更多信息,請參見問題的答案 SD / MMC卡是否確實通過其自己的控制器磨損了水準?電子堆棧上交換,尤其是此答案

此答案的一個有趣的統計數據是

一張2GB的卡,一次又一次地寫完,一次平均要重複10 TB,然後該卡才失效,不再可寫。

但是令人擔憂的是,

SD卡不會在數據損壞時通知您,即不會像PC硬盤一樣返回I / O錯誤。

這可能會使您選擇文件系統很重要如果需要保證可靠的存儲。

最後一點:將SD卡的容量加倍可能會使其壽命延長兩倍以上。

即如果您有2 GB的SD卡具有200 MB的可用空間,那麼切換到4 GB的存儲卡將為您提供11倍的可用空間,磨損均衡能力和使用壽命,而切換到16 GB的存儲卡將為您提供71倍的可用空間

為了首先讓SD卡執行耗損均衡,需要告知哪些塊實際上可以免費使用。 [fstrim](http://man7.org/linux/man-pages/man8/fstrim.8.html)可以幫助您做到這一點。
不需要修剪,但沒有修剪,僅當操作系統重用塊時(而不是停止使用它時),塊才被重用。據我所知,trim是一種SSD功能,SD卡不支持該功能,而SD卡則可以通過更簡單的協議進行訪問。
@Mark,您的第一點是完全正確的。 -關於第二點,正是出於這個目的,在MMC / SD標準中的某處定義了(可選)“ MMC_ERASE”命令。儘管我嘗試過所有SD卡,但實際上只有一種(Pi隨附的SD卡)真正支持它。
在這種情況下,分區大小重要嗎?我的意思是,如果我有一個16GB的卡和一個具有4GB唯一ext4分區的系統,它是否還會利用剩餘的12GB進行損耗均衡?
對於具有良好磨損均衡性的SD卡,很難對@natenho說是,對於實施較差(或不可行)的SD卡,很難說是。
我認為很高興知道它不會引發io錯誤,因此它不如SSD或HDD可靠。最好經常將數據備份到HDD,例如,如果您從SD卡運行數據庫。
@JimmyB您說得對,然後我放棄我的評論。
“就像PC硬盤一樣”。 HD僅在無法搜索起始塊時才返回寫入錯誤。 HD寫入無法驗證數據是否正確記錄在磁性表面上。隨後需要高清讀取以驗證EDAC。
您對該@ChadFarmer有參考嗎?在我看來,您所指的是* seek *錯誤而不是* write *錯誤。誠然,硬盤驅動器通常在重新分配塊時通常執行“寫入後讀取”驗證,但是當硬盤驅動器檢測到寫入失敗的可能性增加時(例如,溫度較高時),也會打開此功能。
@Mark,對不起,沒有參考(僅評論)。寫只是將磁性表面暴露於磁性信號。寫入操作無法確定介質是否正確響應了磁信號。
您是正確的,存在寫入驗證,但是它增加了一個完整的輪換,等待該塊重新讀取。因此,它僅在特殊情況下使用(如果我輸入錯了,請糾正我)。驅動器的專有固件可以執行異常操作,但是延遲仍然可見。
#3
+28
neofutur
2012-06-13 12:15:19 UTC
view on stackexchange narkive permalink

我唯一看到的是不交換SD卡。

交換SD卡可能會殺死SD卡。

如果需要更多RAM ,您可以嘗試使用zram, http://raspberry.pi.gw.gd/t50-Using-ZRAM.html上有一篇文章,提供了在樹莓派上使用ZRAM的一些詳細信息

有關zram的更多信息,請參見 http://en.wikipedia.org/wiki/ZRam

此外,最新的SD卡也更加可靠與舊的相比,購買全新的Class 10 SD卡可能是一個不錯的選擇,因為您想長時間使用它。

#4
+16
Kerem Ersoy
2014-09-20 09:11:56 UTC
view on stackexchange narkive permalink

這裡的大多數人都在談論他們的假設,而不是個人經驗。

我一直將帶有RasPBX的RaspberryPi用作帶有8個分機和傳真的公司總機。通過LinkSYS SPA3000,我們有3個基於IP的中繼和一條固定電話。我最初的金士頓4 GB SD卡僅用了一個月就咬了灰塵。

我仍在進行實驗,沒有備份。順便說一句,Pi已連接到APC UPS。然後,我從頭開始重新設置了整個RasPBX,但是這次我將/ var / log和/ var / lib / mysql移到了我們的公司NAS。這個SD在3個月後還是可以的。

那我們夏天很熱。在第三個月中,pi開始沒有突然檢測到以太網。然後有一天,我發現所有的LED都暗淡了,無法啟動。

我用現成的全新Pi替換了Pi。降溫後,混亂的機器開始工作,但是工作起來很不穩定,當它啟動到RasPBX時,視頻模式將不會切換到圖形,而是停留在80 * 25的文本格式。真的搞砸了。從那以後,我訂購了一套散熱器。新的Pi可以在7/24上使用超過2個月。

因此,如果您要在7/24的環境中使用pi,請不要便宜-購買散熱器並避免使用/ var / log和SD卡上的其他繁忙目錄。

確保var / log在合適的設備上聽起來像是很好的建議。在最初有問題的月份中,出於興趣,您是否也將語音信箱存儲在USD卡上?我只是想知道,如果我決定啟用語音信箱,那麼高耐用性的uSD卡(例如為Dash Cam設計的卡)是否可能對我的RasPBX部署更好。
#5
+15
DocSalvager
2013-02-16 11:16:16 UTC
view on stackexchange narkive permalink

您可以嘗試運行完全位於ram的Puppy Linux。它非常小巧,速度極快,因為它可以通過在啟動時將存儲映像(在您的情況下為SD卡上)複製到RAM中,然後定期將更改刷新回存儲中來完全在內存中運行。保存的頻率由用戶控制,包括手動控制。

Puppy使用分層的aufs或更舊的unionfs文件系統以及任何標準Linux文件系統(例如ext3或ext4)。它也可以駐留在FAT或NTFS分區上。

至少有幾個專門為RPi設計的Puppy版本,其中一個由“ Puppy Master” Barry Kauler創建。

p>

有關更多信息,請訪問 http://wikka.puppylinux.com/Puppi

#6
+13
user13222
2014-03-02 19:36:18 UTC
view on stackexchange narkive permalink

我已經比較了所有使用utilitze TMPFS的解決方案,最好的答案是腳本prepare-dirs的綜合(請參閱 http://grenzdebiel.dyndns.org/wordpress/?p=98)帶有正確的/ etc / defaults / tmpfs((請參見 http://www.a-netz.de/2013/02/ramdisks-for-the-raspberry/)。

要在raspbian上執行的必要步驟是:

1。編輯 / etc / default / tmpfs 並設置

  RAMLOCK = yesRAMSHM = yesRAMTMP = yes  

我建議以下大小:

  TMPFS_SIZE = 10%VMRUN_SIZE = 10MLOCK_SIZE = 5MSHM_SIZE = 10MTMP_SIZE = 25M  
2。使用/ etc / fstab
  tmpfs / var啟用其他目錄/ log tmpfs大小= 20M,默認值,noatime,模式= 0755 0 0 tmpfs / var / cache / apt / archives tmpfs大小= 100M,默認值,noexec,nosuid,nodev,mode = 0755 0 0 tmpfs / var / spool / cups tmpfs大小= 100M,默認值,noatime,模式= 0755 0 0tmpfs / var / spool / cups / tmp tmpfs默認值,noatime,模式= 07 55 0 0  

3。使用腳本 /etc/init.d/prepare-dirs / var / log 中創建缺少的目錄,以便所有守護程序啟動

最後查看我的情況。

4。使腳本可執行 chmod 755/etc/initd/prepare-dirs

5.。確保腳本在啟動守護程序之前先在啟動時啟動: update-rc.d prepare-dirs默認值為01 99

的內容/etc/init.d/prepare-dir:

#!/bin/bash#### BEGIN INIT INFO#提供:prepare-dirs#默認開始:2 3 4 5#默認-停止:0 1 6#必需-開始:#必需-停止:#簡短描述:在啟動時為tmpfs在/ var / log /上創建所需的目錄#描述:在/ var / log上創建所需的目錄/用於啟動時的tmpfs ### END INIT INFO#需要DirsDIR [0] = / var / log / lighttpdDIR [1] = / var / log / cupsDIR [2] = / var / log / aptDIR [3] = / var / log / ConsoleKit
DIR [4] = / var / log / fsckDIR [5] = / var / log / newsDIR [6] = / var / log / ntpstatsDIR [7] = / var / log / sambaDIR [8] = / var / log / lastlogDIR [9] = / var / log / eximDIR [10] = / var / log / watchdogcase“ $ {1:-”}“ in start)排版-ii = 0 max = $ {#DIR [*]}而(((i < max))do mkdir $ {DIR [$ i]} chmod 755 $ {DIR [$ i]} i = i + 1完成#設置權限chown www-data.www-data $ {DIR [0] } ;;停)    ;;重新開始)   ;; reload | force-reload);;狀態)   ;; *)echo“用法:$ SELF start”退出1 ;; esac  

就是這樣。

Puppy Linux也將TMPFS用於所有內容。
第四點有一個錯字,就是`chmod 755 / etc / init.d / prepare-dirs`
#7
+8
Dave Henderson
2013-03-15 13:13:58 UTC
view on stackexchange narkive permalink

禁用交換文件:

sudo dphys-swapfile swapoff

沒有必要卸載,但是如果您不使用它,並且確實想要空間,您可以安全地將其刪除。刪除的替代命令:

sudo dphys-swapfile卸載

用法:/ sbin / dphys-swapfile {setup | swapon | swapoff | uninstall} >

#8
+7
Frank Breitling
2017-02-26 23:31:04 UTC
view on stackexchange narkive permalink

這些是我對Debian 8.0(Jessie)的建議

它們基於 iotop -bktoqqq iostat -dzp 5 。您應該先運行以下命令來了解問題及其解決方案。

1。禁用交換

  sudo systemctl禁用dphys-swapfilesudo rm / var / swap  

2。使用掛載選項和RAM

通過 noatime,commit = 1800 選項掛載SD卡上的所有分區,並使用 / etc / fstab /

  / dev / mmcblk0p1 / boot vfat默認值,noatime,commit = 1800 0 2 / dev / mmcblk0p2 / ext4默認值,noatime,commit = 1800 0 1tmpfs / tmp tmpfs大小= 50M,nodev,nosuid 0 0tmpfs / var / tmp tmpfs大小= 10M,nodev,nosuid 0 0tmpfs / var / cache / samba tmpfs大小= 5M,nodev,nosuid 0 0  

提交會延遲寫入並首先收集它們。

3。將最頻繁的日誌文件記錄到 / var / tmp / log /

請參閱我的說明如何減少對日誌文件的寫入。 p>

4。阻止Chromium錘擊SD卡

事實證明,Chromium寫入過多,無法停止(請參閱 176727 52663)。這會影響緩存和用戶數據目錄。 Chromium / Tips和小技巧解釋瞭如何將其移動到RAM。由於Raspberry沒有太多的RAM,建議使用 Tab Suspender來節省RAM。

a)緩存

限制緩存大小並移動它通過將 / etc / chromium-browser / customizations / 00-rpi-vars 編輯為

  CHROMIUM_FLAGS =“-disable-quic --enable-fast-卸載--enable-tcp-fast-open --disk-cache-size = 10000000 --media-cache-size = 5000000“  

現在,通過將 /etc/security/pam_env.conf 中的 XDG_CACHE_HOME 條目更改為

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

現在,我的兩個用戶在RAM中的瀏覽器緩存很小。如果這不足以根據需要更改高速緩存或/ tmp /大小。

b)用戶數據目錄

還包括用戶數據目錄( .config / chromium / )會寫很多東西。 Chromium /提示和技巧建議使用 Profile-sync-daemon。它旨在管理tmpfs中瀏覽器的配置文件,並定期將其同步回物理磁盤。不幸的是,該軟件包尚未成為Raspbian 8.0(Jessie)發行版的一部分。因此,我尚未對此進行測試。

5。 SD卡上的可用空間

通過卸載不需要的軟件包和文件來釋放空間。

完成!

現在運行 iotop -bktoqqq iostat -dzp 5 再次看到系統空閒時,寫訪問權限顯著減少。幾分鐘沒有任何內容寫入磁盤。不用擔心綠色ACT LED閃爍。顯然,這不是一個好的寫訪問指示器。

僅想添加“釋放空間以更均勻地分散磨損”,這也意味著如果您的安裝映像未佔用您的所有SD卡空間,則擴展文件系統。另外,由於更多的空間可擴展磨損並延長卡的使用壽命,因此“更大”的卡應使用更長的時間。
#9
+5
Piotr Kula
2013-03-15 13:30:20 UTC
view on stackexchange narkive permalink

閃存單元耐久性:

  • 對於多級單元(MLC)閃存,每個物理扇區最多10,000個寫入周期。
  • 對於單級單元(SLC) )閃存,每個物理扇區最多100,000個寫週期。
  • 較新的SSD提供每個物理扇區100萬個寫週期。穿。如果您要日夜不停地寫入8GB MLC型閃存卡,則大約需要30天才能殺死它。

    Techsnap上的第99集談論了用完SSD的問題,艾倫解釋在日常使用中如何不可能耗盡SSD,並且我們不必擔心禁用交換,克隆和其他所有功能。現在就可以使用!智能穿戴均衡器可以處理所有問題。

    每金士頓報價的正常穿戴應為您提供長達27年的專業數碼相機壽命。

    對於普通的數碼單反相機,您可能每隔幾個月就將其裝滿一次。這取決於您旅行的次數。考慮到Pi,如果您嘗試分配內存並經常刷新,則可能要付出更大的代價。通常,一旦您對發行版感到滿意...幾個月或幾年後都不會重新刷新。因此,要延長SD的磨損,最好遵循一些建議,以減少SD上的IO。

    閃存的價格下降了,技術也要好得多。

    大多數SD卡的壽命將超過兩代或三代設備,到那時,它將被視為體積小,速度慢,無法使用更好,更便宜的升級版!

出於安全目的而設置了網絡攝像頭的Raspberry Pi可能正在24/7寫入數據。我想在這種情況下,固態硬盤可能更好。
是的,但不是在整個時間內依次寫入所有扇區。對其進行最少的磨損管理,並且新數據始終進入最少的訪問扇區/區域。該視頻不會覆蓋文件系統文件或頁面文件。迷戀16GB閃存驅動器可以使用幾個小時?通常,央視應在15-30天后訪問!請改用1 TB驅動器或NAS進行存儲以用於歷史記錄。即使是短期的存儲和轉讓,您也可以從SD卡中節省數年!最好還是使用32gb SD,但將文件夾的大小限制為16GB-使用該技術後,您的使用壽命將增加一倍以上!
@ppumkin,您能否告訴我們您實際如何在RPi中使用SD卡?儘管供應商數量令人印象深刻,但我們中的許多人(Google的“樹莓損壞的sd”)在默認Raspbian設置下都遇到了致命故障(我不止一個,包括金斯敦,現在已經提到)。 SD,但您的論文數據仍然沒有得到證實,沒有提及(我應該說是眾所周知的)RPi SD問題,您自己的實際實踐,或者更好的是:案例研究實驗性地揭穿了SD損害“謠言”。
看,我談論的所有內容都鏈接到參考。好的,您想知道我如何使用它嗎?我不!因為Pi,真是個大屁股痛! SD卡不斷出現故障,不是SD卡出現故障。 Pi硬件或軟件正在使這些事情變磚砌。我認為這是廉價USB電源提供的不穩定電壓。新的B +上裝有調節器。感謝上帝!這個固定的WiFi,聲音反饋,我向上帝祈禱SD卡。我仍然需要訂購一些設備,但是我現在正在與Netduino一起玩,還沒有SD崩潰。
我完全不相信10,000個寫入周期。另請參閱:[如何損壞閃存設備](http://goo.gl/xpkxNG)和一些好的[閃存](https://goo.gl/Alw8jb)理論。我從頻繁的小更新到小文件壞了2張SD卡。症狀:無法再更新文件。可以閱讀(保存時間!)。隨後,Pi將不再啟動,日誌損壞(連接監視器)。因此,我認為損壞是由於Linux管理員的頻繁更新而不是文件本身引起的。因此,我認為Jivings的答案具有很好的主意。
您有什麼牌子的SD卡?我購買了真正的Class 10 Kingston 8GB,基本上將它們刷新了約50次,更新了兩倍。在它們上編譯了Mono大約5次...仍然運行良好。.如果您有一些eBay作業卡(帶有Kingston貼紙),但其中有舊的MMC閃存,它們將不會持續....我也有。 3個操作系統閃爍,它們死了!
-1
OK-我看到了相機位的混亂。
#10
+4
Axel Beckert
2016-05-02 19:54:26 UTC
view on stackexchange narkive permalink

如前所述,主要問題是在重新啟動之間不值得保存的文件和目錄,但是經常寫入,例如緩存文件,下載文件夾等。

Raspbian和Debian和Ubuntu都有一個名為 unburden-home-dir的軟件包,其主要目的是將此類文件符號鏈接到一個問題較小的位置,例如 tmpfs 掛載或不易磨損的外部硬盤。

通常在登錄時在X下運行,並以GUI應用程序的緩存文件為目標,但也可以從以下位置調用腳本等,並針對用戶主目錄中的任意文件進行了配置。

#11
+2
touchStone
2013-06-30 15:27:44 UTC
view on stackexchange narkive permalink

注意:100,000個週期的限制是適用於每個計算設備的一個假設,即使是鍵盤上的按鍵也是如此。

這也可能會增加我的看法。

除了用戶Pi [default]之外,添加一個新用戶。將新用戶的主目錄指向外部驅動器[thumb /硬盤驅動器]。授予新用戶超級用戶權限,並開始將其用作您的主帳戶。

我希望這會有所幫助。.

我總是盡量少打字以節省鍵盤;)
添加新用戶不會阻止`/ var / log`和`/ var / tmp`的繁忙。同樣,____________________________________________________________________________________________從經驗中獲得證據__________________________好說比“我相信”要好得多。
#12
+2
Marcus Rickert
2013-11-05 06:10:33 UTC
view on stackexchange narkive permalink

只需將syslog輸出流式傳輸到另一台服務器,就可以減少寫週期。當然,擁有運行 syslogd 的服務器是前提條件。但是,由於Pi是Linux愛好者的玩具,所以這種情況很可能經常發生。 :-)

要激活此流,只需插入一個類似

  *。* @ myserver.mydomain  

的語句在 /etc/rsyslog.conf 文件的頂部,註釋掉所有其他行,並通過發出 service rsyslog restart 重新啟動日誌記錄。此後,消息應進入所選服務器。

一個明顯的好處是,您可以輕鬆地與同一服務器上的其他計算機一起監視Pi。缺點之一是,在系統啟動和關閉過程中,如果尚未建立網絡連接或已經關閉網絡連接,則可能會丟失一些消息。

注意,現代Linux系統(包括CentOS 7和Debian 8,以及基於Raspbian 8的系統)都記錄到“ journald”中,並將它們存儲在systemd日誌中。他們還配置“ journald”將日誌轉發到“ rsyslogd”正在監聽的syslog套接字。將消息的其他副本放置在`/ var / log`下的日誌文件中。如果您願意使用`journalctl`來瀏覽日誌(一旦熟悉,它會比`/ var / log`更好地工作),則可以完全禁用`rsyslog`並保存一些寫操作。
#13
  0
Axel Beckert
2016-05-02 20:04:32 UTC
view on stackexchange narkive permalink

使用busybox的syslog守護程序(在Raspbian / Debian / Ubuntu上的軟件包 busybox-syslogd中)代替默認的syslog守護程序(通常為rsyslog)。默認情況下,在Raspbian / Debian / Ubuntu上,busybox的syslogd僅登錄到內存中的環形緩衝區,而不​​登錄到磁盤。默認情況下,環形緩衝區的大小為128kB,即舊日誌條目很快就會輪換出來,然後消失。但是,您可以配置它使用更多的RAM。

這是比根本沒有syslog守護程序更好的解決方案,即您仍然可以登錄並讀取大約syslog的日誌條目。過去幾個小時或幾天(取決於環形緩衝區的配置大小),使用命令 logread 。您還可以使用 logread -f 獲得類似行為的 tail -f ,例如僅使用過濾器腳本存儲有趣的日誌條目,或僅通過其他位置通過網絡轉發日誌條目,例如使用 stunnel 或類似的方法。

#14
-1
user10419
2013-12-31 03:23:35 UTC
view on stackexchange narkive permalink

我所做的事情:

dphys-swapfile的chmod(在/ etc中的某個位置-目前不在PI附近):

  sudo chmod斧dphys-swapfile  

我在啟動時遇到小錯誤(無法啟動服務dphys-swapfile)-假設有更好的方法... rc-update ??

此外,我從相機模塊捕獲圖像,最終將其放置在我的Web服務器(Pi)上。我將/ dev / ram0格式化為ext2,將其安裝為/ media / ramdrive(我認為使用/etc/init.rc)。它的大小為4兆,足以一擊。沒有寫入SD。

服務器(oululife.dnsdynamic.com)是實驗性的,但在Web上。為了真正強調這一點,我讓它還播放了“ Heartbeat *”的MP4情節。它運行lighttpd,Mysql,PHP,WordPress,甚至當我遠程通過網絡流式傳輸時,它幾乎也不會冒汗,平均負載約為0.2。根本沒有超頻。 B型轉速2,上升24/7。因此,如果我可以將日誌文件放入其他15個/ dev / ramX中,我認為我的Micro-SD 16G卡將使用幾年....



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...