9Sep
Ubuntu רוצה להפעיל TRIM עבור SSDs כברירת מחדל ב- Ubuntu 14.04.במילים אחרות, אובונטו כבר לא משתמשת ב- TRIM, אז ה- SSD שלך מאט לאורך זמן.אבל למה לא אובונטו כבר משתמשת ב- TRIM?
חדשות אלה צפויות להפתעת אנשים רבים, שהניחו שאובונטו והפצות לינוקס אחרות כבר משתמשות ב- TRIM.TRIM מונע SSDs להאט לאורך זמן הוא חלק הכרחי של תחזוקת SSD.
מדוע TRIM חשוב
יש לנו כיסוי מדוע TRIM חשוב לפני.בעת מחיקת קובץ בכונן קשיח קשיח מגנטי, המחשב פשוט מסמן את הקובץ שנמחק.הנתונים של הקובץ מקלות על הכונן הקשיח - זו הסיבה קבצים שנמחקו ניתן לשחזר.המחשב יהיה בסופו של דבר להחליף את הקבצים שנמחקו כאשר הוא מחליף את המגזרים שלהם עם נתונים חדשים.כוננים קשיחים( SSD) פועלים באופן שונה.בכל פעם שאתה כותב קובץ ל- SSD, המחשב חייב למחוק תחילה נתונים כלשהם במגזרים שבהם הוא כותב את הנתונים.זה לא יכול פשוט "להחליף" את המגזרים בפעולה אחת - זה צריך קודם לנקות אותם, ואז לכתוב המגזרים הריקים.
משמעות הדבר היא כי SSD יאט לאורך זמן.כתיבה למגזרים של SSD תהיה מהירה בפעם הראשונה.לאחר שתמחק קבצים מסוימים ותנסה לכתוב אליו שוב, יידרש זמן רב יותר.זהו חלק גדול מהסיבה לכך ש- Nexus 7 המקורי של Google הואט כל כך הרבה זמן.Google תיקן זאת על ידי יישום TRIM ב- Android 4.3.(Android משתמש גם בליבת לינוקס.)
כאשר TRIM מופעל, מערכת ההפעלה מספרת את ה- SSD בכל פעם שהיא מוחקת קובץ.הכונן יכול ואז למחוק את המגזרים המכילים את התוכן של הקובץ, ולכן כתיבה למגזרים יהיה מהיר בעתיד.במילים אחרות, אם לא תשתמש ב- TRIM, ה- SSD שלך יאט לאורך זמן.לכן מערכות הפעלה מודרניות, כולל Windows 7+, Mac OS X 10.6.8+ ו- Android 4.3+ משתמשות ב- TRIM.TRIM יושמה ב- Linux בדצמבר 2008, אך אובונטו אינה משתמשת בו כברירת מחדל.מה זה כונן מוצק המדינה( SSD), ואני צריך אחד?
הסיבה האמיתית לאובונטו אינה כוננית SSD כברירת מחדל היא כי יישום הליבה של לינוקס של TRIM הוא איטי ומוביל לביצועים ירודים בשימוש רגיל.
ב- Windows 7 וב- Windows 8, Windows שולח פקודת TRIM בכל פעם שהוא מוחק קובץ, ומסביר את הכונן למחיקה מיידית של סיביות הקובץ.לינוקס תומכת בכך כאשר מערכות הקבצים מותקנות עם האפשרות "מחק".עם זאת, אובונטו - והפצות אחרות - לא עושים זאת כברירת מחדל מסיבות ביצועים.
ויקיפדיה כוללת מידע מפורט ממפתח שמכיר יותר את הקרנל של לינוקס מאשר אנחנו.זה קצת מתוארך, אבל סביר עדיין עדיין כשמדובר בביצועים:
"יישום ליבה של לקצץ בזמן אמת ב 11.2, 11.3, ו 11.4 אינו מותאם.המפרט.קורא לקצץ תמיכה רשימה וקטורית של טווחים לקצץ, אבל כמו של הקרנל 3.0 לקצץ הוא מופעל רק על ידי הקרנל עם טווח יחיד / להשליך טווח עם הנוכחי באמצע 2011 SSDs זה הוכיח לגרום לביצועים ביצועים במקום להגדיל את הביצועים.ישנן כמה סיבות להשתמש הקרנל בזמן אמת להשליך תמיכה עם pre-3.1 גרעינים.זה לא ידוע כאשר הגרעינים להשמיד פונקציונליות יהיה מותאם לעבוד בצורה מועילה עם הדור הנוכחי של SSD. "[מקור]
במילים אחרות, הליבה של לינוקס מטפל פקודות בזמן אמת TRIM בצורה איטית, ללא אופטימיזציה.הפעלת TRIM דומה לאופן שבו Windows עושה - כלומר, באמצעות האפשרות "להתעלם" - תוצאות המערכת למעשה הופך לאט יותר מאשר אם TRIM לא היו בשימוש בכלל.אובונטו והפצות לינוקס אחרות אינן מאפשרות "למחוק" כברירת מחדל עבור מערכות הקבצים שלך, וגם אתה לא צריך.
יש דרך אחרת
מכיוון שמדובר בזמן אמת ב- "TRIM" של הקרנל של לינוקס בזמן אמת, הוא אינו מבצע ביצועים טובים, אך רוב הפצות הלינוקס - כולל אובונטו - אינן משתמשות ב- TRIM באופן אוטומטי.Android גם לא השתמש ב- TRIM עד 4.3 של Android.
אבל יש דרך נוספת להשתמש TRIM.במקום פשוט להנפיק את הפקודה TRIM בכל פעם הקובץ נמחק, תכונה FITRIM ניתן להשתמש.זה קורה דרך הפקודה fstrim.למעשה, הפקודה fstrim מנתחת את מערכת הקבצים ומודעת את הכונן שבו בלוקים הם כבר לא נחוץ, ולכן הכונן יכול להשליך אותם.פעולה זו הופכת את TRIM לפעולה בזמן אמת למשימה מתוזמנת.במילים אחרות, fstrim יכול לבצע TRIM כמו עבודה cron.אין שום סיבה שלא לעשות את זה.זה לא יאט שום דבר;זה רק עוד משימה housecaning המערכת יש לבצע על לוח זמנים.
למעשה, זו הגישה שגוגל נקטה עם אנדרואיד 4.3.אנדרואיד פשוט מפעיל משימה fstrim מדי פעם כדי TRIM את מערכת הקבצים, לתקן את הבעיה כי הואט את כל אלה Nexus 7s המקורי.
אובונטו גם מסתכל על הפעלת TRIM באופן אוטומטי על ידי בעל מערכת הפעלה קבועה fstrim.זה יהיה בתקווה להיות חלק Ubuntu 14.04 אז משתמשים אובונטו לא ייאלצו להתמודד עם הביצועים SSD השפלה או לרוץ fstrim בכוחות עצמם.
כיצד להפעיל את TRIM
אנו לא ממליצים על הרכבה של מערכות הקבצים שלך עם פעולת ה - "disard", שכן הדבר עלול לגרום לביצועים איטיים יותר בשימוש רגיל.עם זאת, אתה יכול להשתמש TRIM עצמך על ידי הפעלת מדי פעם את הפקודה fstrim או יצירת cronjob שלך שפועל fstrim על לוח זמנים.
כדי לסדר את SSD שלך על אובונטו, פשוט לפתוח מסוף ולהפעיל את הפקודה הבאה:
sudo fstrim -v /
ניתן להפעיל את הפקודה לעיל מדי פעם כדי למנוע השפלה בביצועים על SSD.כמה פעמים אתה צריך להפעיל את זה תלוי כמה פעמים קבצים נמחקים SSD שלך.תראה שגיאה אם תנסה להפעיל את הפקודה באמצעות כונן שאינו תומך ב- TRIM.
אם אתה רוצה להפעיל TRIM באופן קבוע, אתה יכול פשוט ליצור cronjob שמפעיל את הפקודה fstrim בשבילך.הנה איך לעשות עבודה cron עצמות כי יעשה את זה באופן אוטומטי.
ראשית, להפעיל את הפקודה הבאה כדי לפתוח את עורך טקסט nano עם הרשאות שורש:
sudo nano /etc/cron.daily/ fstrim
הקלד את הקוד הבא לקובץ:
#!/bin/ sh
fstrim /
שמור את הקובץ על-ידי הקשה על Ctrl + O והקש על Enter כדי לאשר.הקש Ctrl + X כדי לסגור את nano לאחר שמירת הקובץ.
אחרונה, להפעיל את הפקודה הבאה כדי להפוך את קובץ ה- script הפעלה:
sudo chmod + x /etc/cron.daily/ fstrim
אובונטו תפעיל עכשיו fstrim על לוח זמנים, בדיוק כפי שהיא עושה משימות אחרות של תחזוקת המערכת.
שים לב כי TRIM נתמך רק במערכות קבצים מודרניות, כך תצטרך משהו כמו ext4 ולא ext3 או ext2.אם אינך יודע באיזו מערכת קבצים אתה משתמש, אל דאגה - ext4 מסומנת כברירת מחדל.
חלק גדול מעצה זו חל גם על הפצות לינוקס אחרות.בעוד ש- Linux אכן יישמה את תמיכת ה- TRIM בקרנל לפני זמן רב, נראה שתמיכה ב- TRIM מעולם לא הופעלה כברירת מחדל עבור משתמשים טיפוסיים בהפצות לינוקס.
תמונה אשראי: Mace Ojala על Flickr( קצוץ)