उबंटू 14.10 आगे
उबंटू 14.10 और 15.04 में, ट्राइमिंग हर सप्ताह सभी एसएसडी द्वारा समर्थित हर हफ्ते होता है fstrim
।
$ tail -n1 /etc/cron.weekly/fstrim
/sbin/fstrim --all || true
15.04 के बाद से उबंटू सिस्टमड और इसके टाइमर ( man systemd.timer
, आर्क विकी ) का उपयोग करता है
systemctl list-timers
systemctl status fstrim.timer
उबंटू 14.04
Ubuntu 14.04 के रूप में, अनुसूचित TRIM इंटेल, सैमसंग, OCZ, पैट्रियट और सैंडिस्क SSDs के लिए डिफ़ॉल्ट रूप से सक्षम है। यदि आपके पास एक और ब्रांड है, तो आप निम्न कमांड को चलाकर विक्रेता की जांच को अक्षम कर सकते हैं:
sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim
(या बस फ़ाइल को संपादित करें /etc/cron.weekly/fstrim
और जोड़ें --no-model-check
)
Ubuntu 13.10 और पहले
TRIM, मैनुअल, शेड्यूल और स्वचालित करने के तीन तरीके हैं:
मैनुअल TRIM
उबंटू में इसके साथ प्रदर्शन किया जा सकता है fstrim
:
sudo fstrim /
हालांकि अनुसूचित या स्वचालित TRIM सक्षम होने पर इसकी आवश्यकता नहीं है, जैसा कि नीचे दिए गए अनुभागों में विस्तृत है।
नोट: के लिए Ubuntu 11.04 और पहले की प्रणालियों, fstrim उपलब्ध नहीं है तो आप का उपयोग करने की wiper.sh
के साथ आपूर्ति hdparm
में/usr/share/doc/hdparm/contrib/wiper.sh.gz
अनुसूचित TRIM (अनुशंसित)
यह वर्तमान में पुनःप्राप्त विधि है, और इसे Ubuntu 14.04 के लिए प्रति डिफ़ॉल्ट सक्रिय करने की योजना है । Ubuntu (11.10 से 13.10) के पुराने संस्करणों में इसे मैन्युअल रूप से सक्रिय करने का तरीका बताया गया है:
एक साप्ताहिक CRON जॉब स्क्रिप्ट फ़ाइल बनाएँ:
gksudo gedit /etc/cron.weekly/fstrim
फ़ाइल में निम्न कोड चिपकाएँ, फिर फ़ाइल को सहेजें और बंद करें:
#! /bin/sh
# By default we assume only / is on an SSD.
# You can add more SSD mount points, separated by spaces.
# Make sure all mount points are within the quotes. For example:
# SSD_MOUNT_POINTS='/ /boot /home /media/my_other_ssd'
SSD_MOUNT_POINTS='/'
for mount_point in $SSD_MOUNT_POINTS
do
fstrim $mount_point
done
ध्यान दें कि ऊपर मान लिया गया है कि केवल आपका रूट फाइल सिस्टम /
एक SSD पर स्थित है। यदि आपके पास अधिक आरोह बिंदु हैं जो एक या अधिक एसएसडी पर रहते हैं, तो उन्हें SSD_MOUNT_POINTS
कोड में बताए अनुसार जोड़ें ।
स्क्रिप्ट को निष्पादन योग्य बनाएं:
sudo chmod +x /etc/cron.weekly/fstrim
और अंत में इसका परीक्षण करें:
sudo /etc/cron.weekly/fstrim
यदि आपको कोई त्रुटि नहीं दिखती है, तो आपकी क्रोन जॉब ठीक काम कर रही है।
स्वचालित TRIM (पदावनत, धीमा)
EXT4 फ़ाइल सिस्टम के साथ उबंटू 10.10 (कर्नेल 2.6.33) के बाद से स्वचालित TRIM का समर्थन किया गया है। हालाँकि, रीयल-टाइम में SSD को TRIM कमांड भेजना - हर डिलीट के बाद - डिलीट करने को कुछ ड्राइव्स पर सामान्य से ज्यादा धीमा बनाने के लिए पहचाना गया है। इसलिए एक क्रोन जॉब (ऊपर वर्णित) के माध्यम से एक साप्ताहिक अनुसूचित TRIM को फिर से शामिल किया गया है।
एक ड्राइव या विभाजन पर स्वचालित TRIM को सक्षम करने के लिए, उन्हें discard
विकल्प में रखा जाना चाहिए fstab
। सबसे पहले अपने fstab का बैकअप लें और फिर उसे संपादन के लिए खोलें:
sudo cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
discard
SSD ड्राइव या प्रत्येक विभाजन के लिए fstab विकल्प प्रविष्टि (अल्पविराम से अलग) में जोड़ें ।
UUID=00000000-0000-0000-0000-000000000000 / ext4 discard,errors=remount-ro 0 1
बंद करो और fstab को बचाओ, फिर रिबूट और स्वचालित TRIM अब काम करना चाहिए।
परीक्षण स्वचालित TRIM
परीक्षण करने के लिए कि क्या TRIM निम्नलिखित आदेश जारी कर रहा है ( स्रोत ):
cd / # Replace with SSD file system
sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
sudo hdparm --fibmap tempfile
आउटपुट से संख्या की प्रतिलिपि बनाएँ begin_LBA
और अपने SSD के डिवाइस नाम को सत्यापित करें: System->Administration->Disk Utility
जैसे sda, sdb, sdc ...
ऊपर दिए गए विवरणों के साथ निम्नलिखित लेकिन प्रतिस्थापित [ADDRESS]
(start_LBA) और sdX
(SSD डिवाइस नाम) चलाएं ।
sudo hdparm --read-sector [ADDRESS] /dev/sdX
आउटपुट उन क्षेत्रों के लिए वर्णों की एक लंबी स्ट्रिंग होनी चाहिए
sudo rm tempfile
sync
hdparm
ऊपर से आदेश दोहराएं :
sudo hdparm --read-sector [ADDRESS] /dev/sdX
यदि आपको केवल शून्य मिलता है तो स्वचालित TRIM काम कर रहा है। हालाँकि यदि फ़ाइल को हटाने के बाद सेक्टर अभी भी खाली नहीं हैं तो थोड़ी देर रुकें और फिर से कमांड चलाएँ।