क्या TRIM मेरे Ubuntu 18.04 संस्थापन पर सक्षम है?


38

मुझे पता है कि साप्ताहिक TRIM डिफ़ॉल्ट रूप से 14.10 से सक्षम है। स्रोत: TRIM कैसे सक्षम करें? लेकिन रनिंग sudo nano /etc/cron.weekly/fstrimएक खाली फाइल है। यह भी tail -n1 /etc/cron.weekly/fstrimकहता है कि यह फ़ाइल मौजूद नहीं है।

रनिंग lsblk -Dनॉन जीरो वैल्यू फॉर रिटर्न DISC-GRANऔर DISC-MAX इसलिए टीआरआईएम मेरे एसएसडी पर समर्थित है। क्या साप्ताहिक TRIM वास्तव में मेरे SSD के लिए सक्षम है या नहीं?

मैं किंग्स्टन एसएसडी का उपयोग कर रहा हूं

जवाबों:


59

18.04 में डिफ़ॉल्ट रूप से साप्ताहिक चलने के लिए ट्रिम (स्ट्रेटिम / त्याग) सक्षम है
यह डिवाइस पर सभी माउंटेड फ़ाइल सिस्टम के लिए चलाने के लिए सेट है जो त्यागने के कार्य का समर्थन करते हैं।

यह एक ऐसी systemdसेवा है जिसके माध्यम से systemctlCRON का प्रबंधन किया जाता है ।

Fstrim.timer स्थिति देखें :

$ systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
   Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)
   Active: active (waiting) since Thu 2018-07-05 05:45:11 BST; 4h 42min ago
  Trigger: Mon 2018-07-09 00:00:00 BST; 3 days left
     Docs: man:fstrim

स्टार्ट / स्टॉप / रीस्टार्ट fstrim.timer :
(स्टार्टअप स्थिति को नहीं बदलता)

$ sudo systemctl [start/stop/restart] fstrim.timer

सक्षम करें / fstrim.timer अक्षम करें :
(स्टार्टअप से जोड़ें / हटाएं, वर्तमान सक्रिय स्थिति को नहीं बदलता है)

$ sudo systemctl [enable/disable] fstrim.timer

Fstrim.timer कॉन्फ़िगरेशन देखें :

$ systemctl cat fstrim.timer
# /lib/systemd/system/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target

Fstrim.service कॉन्फ़िगरेशन देखें :

$ systemctl cat fstrim.service
# /lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks

[Service]
Type=oneshot
ExecStart=/sbin/fstrim -av

नोट : ExecStart = / sbin / fstrim ए वी
कहाँ:
-एक , ट्रिम सभी फ़ाइल सिस्टम उपकरणों कि छोड़ें आपरेशन का समर्थन पर रखा।
-v , वर्बोज़ निष्पादन। फाइल सिस्टम से पारित बाइट्स की संख्या को संभावित खराबी के लिए डिवाइस के ब्लॉक स्टैक से नीचे करें।

संबंधित सिस्टमड जर्नल प्रविष्टियाँ देखें :

$ journalctl -u fstrim.timer
Jul 04 14:18:41 user-laptop systemd[1]: Started Discard unused blocks once a week.
Jul 04 21:59:26 user-laptop systemd[1]: Stopped Discard unused blocks once a week.
etc...

$ journalctl -u fstrim.service
Jun 25 10:59:44 user-laptop systemd[1]: Starting Discard unused blocks...
Jun 25 10:59:48 user-laptop fstrim[955]: /: 92.5 GiB (99335237632 bytes) trimmed
Jun 25 10:59:48 user-laptop systemd[1]: Started Discard unused blocks.
-- Reboot --
Jul 02 04:27:41 user-laptop systemd[1]: Starting Discard unused blocks...
Jul 02 04:27:46 user-laptop fstrim[1032]: /: 92.3 GiB (99150807040 bytes) trimmed
Jul 02 04:27:46 user-laptop systemd[1]: Started Discard unused blocks.
etc...

2
संदर्भ के लिए, जब द्वारा नियंत्रित किया जाता /lib/systemd/system/fstrim.timer( OnCalendar=weekly) क्या द्वारा और /lib/systemd/system/fstrim.service( ExecStart=/sbin/fstrim -av)।
Moilleadóir

1
ठीक पोस्ट! मेरा सुझाव है कि आप समर्पित systemctl कमांड द्वारा "कैट" कमांड्स को बदलें: cat /lib/systemd/system/fstrim.timer -> systemctl cat fstrim.timer। सामान्य तौर पर, वह कमांड उस सेवा का संस्करण दिखाता है जो प्रभावी है। यह एक अंडर / लीब / सिस्टमड हो सकता है, लेकिन यह / etc / systemd के तहत एक संशोधित संस्करण भी हो सकता है।
वैनेडियम

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

यह कैसे मांग पर सक्रिय करने के लिए? (उदाहरण के लिए, अब मैं दोपहर के भोजन के लिए जाना चाहता हूं)
रेजर

आप किसी भी systemd सेवा को मैन्युअल रूप से शुरू / बंद / पुनः आरंभ कर सकते हैं: $ sudo systemctl [start / stop / पुनरारंभ] [सेवा का नाम]। सेवा
Broadsworde

2

संपादित करें: कृपया टिप्पणियों को पढ़ें, यह उत्तर दो तंत्रों को मिलाता है!

पुराना उत्तर

एक महत्वपूर्ण बिंदु है जिसे पूरा करने के लिए @Broadsworde के उत्तर में जोड़ना होगा।

जबकि मेरे लैपटॉप पर सभी टाइमर और सेवाएं सक्षम थीं, फ़्रीस्टिम लॉग प्रविष्टि गायब थी (केवल: starting… stopping… reboot… starting…आदि)।

गुम कदम

आपको फ़ाइल सिस्टम को अस्वीकार्य के रूप में चिह्नित करना पड़ सकता है । यदि किसी फ़ाइल सिस्टम को त्यागने योग्य के रूप में चिह्नित नहीं किया जाता है, तो ट्रिम इसे छोड़ देगा [1]।

फ़ाइल सिस्टम को अस्वीकार्य के रूप में चिह्नित करने के लिए, आपके पास दो विकल्प हैं:

1. विकल्प: tune2fs

sudo tune2fs -o discard /dev/mapper/ubuntu--vg-root

यह मेरे ext4 डिवाइस के लिए डिसॉल्ट विकल्प को डिफ़ॉल्ट के रूप में सेट करेगा। यदि आप एन्क्रिप्शन का उपयोग नहीं करते हैं, तो /dev/sdaइसके बजाय प्रयास करें ।

2. विकल्प: /etc/fstab

discardअपने मौजूदा माउंट विकल्पों में विकल्प को प्रस्तुत करना या जोड़ना सुनिश्चित करें। इस तरह के उदाहरण के लिए:

/dev/mapper/ubuntu--vg-root / ext4 discard,relatime,errors=remount-ro 0 1

इसके बाद ही टाइमर सेवा वास्तव में कुछ करेगी ।

फुटनोट

  • [१] वास्तव में, डिवाइस को TRIMऑपरेशन का समर्थन करने की आवश्यकता है । लेकिन linux पर, यह एक फाइल सिस्टम फ्लैग है। फिर भी, डिवाइस फ़ाइल सिस्टम TRIMऑपरेशन का समर्थन करने की आवश्यकता पर चल रहा है । यह देखने के लिए कि क्या आपका डिवाइस इसका समर्थन करता है, का उपयोग करें sudo hdparm -I /dev/sda | grep -i TRIM:।

मेरे इंस्टॉलेशन में (मूल रूप से 18.10; बाद में 19.04 में अपग्रेड किए गए) फाइलसिस्टम के पास डिसेबल विकल्प सक्षम नहीं था । मैं अपने सिस्टम में केवल एसएसडी का उपयोग करता हूं; और इसका कोई यांत्रिक HD कभी नहीं था। मैंने उन्हें tune2fs के साथ सक्षम किया । कोई भी विचार या स्पष्टीकरण कि प्रणाली ने उन्हें डिफ़ॉल्ट रूप से सक्षम क्यों नहीं किया?
फेडोनकादिफ़ेली

1
मुझे नहीं लगता कि यह सही है। जब फ़ाइल सिस्टम से फ़ाइलें हटा दी जाती हैं तो त्यागें विकल्प को रोक देता है। सिस्टमड सेवा अप्रयुक्त ब्लॉक को समय-समय पर फाइल सिस्टम पर ट्रिम करती है। ये अलग चीजें हैं। त्यागने का विकल्प कुछ प्रणालियों पर प्रदर्शन को नकारात्मक रूप से प्रभावित कर सकता है, इसलिए आवधिक रूप से बेहतर है।
xioxox

1
@xioxox सही है। हाल mountके मैन पेज में कहा गया है कि «डिस्क्लेक्ट फंक्शन मुद्दों को अक्सर आदेश देता है कि ब्लॉक डिवाइस को फाइल सिस्टम द्वारा मुक्त किए गए स्थान को पुनः प्राप्त करने दें। [...] एक महत्वपूर्ण प्रदर्शन प्रभाव पड़ सकता है । ( फ़्रेस्सिम कमांड यूज़र्सस्पेस से बैच ट्रिम्स शुरू करने के लिए भी उपलब्ध है।) »
फैबियो ए।

धन्यवाद, मैंने उत्तर को पूरी तरह से संपादित किया। कृपया इस उत्तर को जारी न रखें: मैं इसे रखना चाहता हूं क्योंकि आपकी टिप्पणियां मूल्यवान हैं!
बेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.