स्वचालित TRIM बनाम मैनुअल TRIM


13

मैं वर्तमान में यह जानने की कोशिश कर रहा हूं कि अपने नए टीपी के साथ कैसे ट्रिम किया जाए और मैं मैनुअल / ऑनलाइन ट्रिमिंग के अंतर के बारे में सोच रहा था।

यहाँ मेरा सेटअप है:

SSD Samsung 830, 128GB और Xubuntu 12.10 के साथ थिंकपैड T430s, यहाँ ट्रिम मेरे सिस्टम पर काम करेगा या नहीं इसकी जाँच करने के लिए कुछ आउटपुट दिए गए हैं (इन्हें यहाँ से प्राप्त करें: http://wiki.ubuntuusers.de/SSD/TRIM )

root@eike-tp:~# sudo hdparm -I /dev/sda | grep -i TRIM
   *    Data Set Management TRIM supported (limit 8 blocks)

सबसे पहले, मैंने ऑनलाइन ट्रिमिंग की कोशिश की: TRIM कैसे सक्षम करें?

मेरे fstab के साथ त्याग डाला:

UUID=d6c49c17-a4f1-466c-9f7e-896c20db3bba /  ext4  discard,noatime,errors=remount-ro  0  1
# swap was on /dev/sda5 during installation
UUID=a0322f5f-c6c1-4896-863f-668f0638d8cf none  swap  sw  0   0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

मैंने परीक्षण करने की कोशिश की कि क्या यह काम करता है (लेकिन मुझे कोई शून्य नहीं मिलता है जब मैं इसे / dev / sda के साथ आज़माता हूं), लेकिन पता चला कि यह विधि केवल SSD टाइप 2 के साथ ही संभव है और मुझे टाइप 3 लगता है। पता नहीं यह काम करता है या नहीं।

Ubuntuwiki (पहला लिंक) मैनुअल ट्रिमिंग की सिफारिश करता है, इसलिए मैंने त्यागने के बजाय एक दैनिक क्रोनजॉब स्थापित किया:

#!/bin/sh
LOG=/var/log/batched_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG

विकी लेख साप्ताहिक या दैनिक सुझाव देता है। अब मेरे सवालों के लिए:

स्वचालित ट्रिम को कितनी बार निष्पादित किया जाता है? कितनी बार सिफारिश की जाती है? ऑनलाइन बनाम मैनुअल ट्रिमिंग?

आपके सहयोग के लिए धन्यवाद

जवाबों:


4

स्वचालित और मैन्युअल ट्रिम के बीच अंतर यह है कि discardकिसी भी फ़ाइल को हटाने के बाद स्वचालित ट्रिम ( माउंट विकल्प का उपयोग करके ) ट्रिम्स को सिंक से मुक्त कर देता है, जबकि मैन्युअल ट्रिम (उपयोग fstrim) सभी खाली स्थान को एक बार में ट्रिम करता है।

परिक्षण

एक तरीका है कि आप परीक्षण कर सकते हैं कि स्वचालित ट्रिम काम कर रही है या नहीं, एक बड़ी फ़ाइल बनाने और हटाने के लिए:

user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync

यदि स्वचालित रूप से छूट काम कर रही है, तो मैन्युअल रूप से ट्रिमिंग फिर से कई ब्लॉकों को ट्रिम नहीं करेगी, क्योंकि उन्हें पहले ही छंटनी चाहिए थी। भागो sudo discard -vअपने फाइल सिस्टम पर हैं और देखते हैं कि कितने ब्लॉक छंटनी कर रहे हैं।

सिफ़ारिश करना

जिसके लिए अनुशंसित है: मेरे अनुभव में, स्वचालित ट्रिम प्रदर्शन को मारता है। हालाँकि, यह शायद हार्डवेयर पर निर्भर है; यह आपकी ड्राइव पर ठीक हो सकता है।

यदि आप मैन्युअल ट्रिम का उपयोग कर रहे हैं, तो कितनी बार, उस दर के बारे में सोचें, जिस पर आप अपने एसएसडी पर खाली स्थान की मात्रा की तुलना में अपने ठेठ कार्यभार में डेटा लिखते हैं। आपके डिस्क को हटाए गए डेटा के साथ भरने से पहले आप अक्सर पर्याप्त रूप से ट्रिम करना चाहते हैं। यदि आपका SSD ज्यादातर खाली जगह है या आपका डिस्क वर्कलोड हल्का है, तो कभी-कभी (साप्ताहिक या इससे भी अधिक) ट्रिमिंग पर्याप्त होनी चाहिए। यदि आपका SSD अधिकतर भरा हुआ है या आप उदा। वीडियो फ़ाइलों को अक्सर संपादित करते हैं, तो आपको अधिक बार ट्रिम करना होगा।


2

मैं कोई स्टोरेज इंजीनियर नहीं हूं और मेरे पास खुद से संबंधित चिंताएं हैं , लेकिन मैं समय-निर्धारण पर एक संभव उपयोगी सुझाव दे सकता हूं। मुझे पूरा विश्वास है कि TRIM SSD पर किसी भी चिंताजनक पहनने का कारण नहीं है। यह सिर्फ हाउसकीपिंग है कि आपकी डिस्क को अंततः से गुजरना होगा, इससे पहले कि वह रीसाइक्लिंग ब्लॉक शुरू कर सके। बैच TRIMming के लिए सबसे अच्छा कार्यक्रम उपयोग पर निर्भर करेगा; लेखन आवृत्ति और मुक्त स्थान का एक कार्य, मुझे सोचना चाहिए। यह ध्यान में रखते हुए, मैं fstrim -vकई दिनों तक क्रोन की नौकरी और हाथ से अनप्लग करूंगा ।

मुझे लगता है कि ट्रिक एक शेड्यूल तैयार करने के लिए है जहां बैच टीआरआईएम एसएसडी को लिखने के लिए तैयार करता है इससे पहले कि एक सामान्य लेखन ऑपरेशन को पूरा करने के लिए उपयोग किए गए ब्लॉकों को पुनर्नवीनीकरण किया जाना है, इस प्रकार प्रदर्शन को नुकसान पहुंचाता है। 24 घंटे और फ्रॉस्टिम प्रतीक्षा करें। यदि यह दावा करता है कि मुक्त स्थान की तुलना में बहुत कम ब्लॉक छंटनी की गई है, तो आप शायद अच्छी तरह से बैच TRIMming की तुलना में कम बार सेवा कर रहे हैं।


2

मैंने फ्रॉस्टिम दानव https://github.com/dobek/fstrimDemon तैयार किया

यह अप करने के लिए और अधिक विश्वसनीय होने के लिए समय के आधार पर फ्रॉस्टिम निष्पादित करने के लिए विश्वसनीय लगता है फिर क्रोन टेबल। मज़े करो।


2

मैं अपने SSD को हर बूट पर ट्रिम करता हूं। मैंने एक sh फाइल बनाई जिसे स्टार्टअप के 20 सेकंड बाद कहा जाता है। मैंने लॉग फाइल के बजाय सिस्टम नोटिफिकेशन में फ्रॉस्टिम से आउटपुट प्रदर्शित करने का विकल्प चुना।

सबसे पहले trim.shअपनी ~/binडायरेक्टरी में फाइल बनाएं

#! /bin/sh
notify-send "TRIM" "$(sudo fstrim -v /)"

अब हमें उपयोगकर्ता को विशेष रूप से चलाने के लिए विशेषाधिकार देने की आवश्यकता है ताकि हमें पासवर्ड दर्ज करने की आवश्यकता न हो। अपनी सुडोल फ़ाइल विज़ुदो के साथ खोलें और निम्नलिखित पंक्ति में जोड़ें:

yourusername  ALL=(ALL) NOPASSWD: /sbin/fstrim

यदि आप अपने home/yourusername/binफ़ोल्डर को अपने साथ शामिल करते हैं, तो आप $PATHपासवर्ड की आवश्यकता के बिना कमांड 'ट्रिम' के साथ टर्मिनल में मैन्युअल रूप से ट्रिम कर सकते हैं।

अब आप अपनी स्क्रिप्ट को स्टार्ट अप एप्लिकेशन में जोड़ सकते हैं और विलंब निर्दिष्ट कर सकते हैं। आपको फिर से लॉगआउट / लॉगिन करने की आवश्यकता है ताकि आपकी नई sudoers प्रविष्टि लोड हो जाए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.