TRIM සක්‍රීය කරන්නේ කෙසේද?


191

2.6.33 අනුවාදයට අනුව ලිනක්ස් කර්නලය TRIM සඳහා සහය දක්වන බව මම දනිමි, එබැවින් උබුන්ටු වල TRIM සහාය තිබිය යුතුය.

TRIM පෙරනිමියෙන් සක්‍රීය කර තිබේද නැතහොත් එය ක්‍රියාත්මක වීමට මට සමහර සැකසුම් වෙනස් කිරීමට හෝ අතිරේක මෘදුකාංග ස්ථාපනය කිරීමට අවශ්‍යද? එසේ නම්, කෙසේද?


මම වෙබ්අප් 8 හි මෙම උපදෙස් අනුගමනය කළෙමි, එය හොඳ විකල්ප කිහිපයක් ලබා දෙයි :-) webupd8.org/2013/01/enable-trim-on-ssd-solid-state-drives.html ඉහත විස්තර කර ඇති පරිදි ස්වයංක්‍රීය ටිම් සඳහා විකල්පය මම උත්සාහ කළෙමි "ස්වයංක්‍රීය TRIM" නමුත් දිනපතා ක්‍රෝන් එකක් සැකසීම මගේ සැකසුම සමඟ වඩා හොඳින් ක්‍රියාත්මක වන බව සොයා ගන්නා ලදී.
bmbaker

Answers:


197

උබුන්ටු 14.10 සිට

උබුන්ටු 14.10 සහ 15.04 හි, සහාය දක්වන සියලුම එස්එස්ඩී වල සෑම සතියකම TRIMming ස්වයංක්‍රීයව සිදු fstrimවේ.

$ tail -n1 /etc/cron.weekly/fstrim 
/sbin/fstrim --all || true

15.04 සිට උබුන්ටු විසින් systemd සහ එහි ටයිමරය භාවිතා කරයි ( man systemd.timer, Arch wiki )

systemctl list-timers
systemctl status fstrim.timer

උබුන්ටු 14.04

උබුන්ටු 14.04 වන විට, ඉන්ටෙල්, සැම්සුන්ග්, ඕසීඑස්, දේශප්‍රේමී සහ සැන්ඩිස්ක් එස්එස්ඩී සඳහා පෙරනිමියෙන් උපලේඛනගත TRIM සක්‍රීය කර ඇත. ඔබට වෙනත් වෙළඳ නාමයක් තිබේ නම්, පහත දැක්වෙන විධානය ක්‍රියාත්මක කිරීමෙන් ඔබට විකුණුම්කරුගේ චෙක්පත අක්‍රිය කළ හැකිය:

sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim

(හෝ ගොනුව සංස්කරණය කර /etc/cron.weekly/fstrimඑකතු කරන්න --no-model-check)

උබුන්ටු 13.10 සහ ඊට පෙර

TRIM, අත්පොත, උපලේඛනගත සහ ස්වයංක්‍රීයව සිදු කිරීමට ක්‍රම තුනක් තිබේ:

අත්පොත TRIM

උබුන්ටු වලදී මෙය සිදු කළ හැක්කේ fstrim:

sudo fstrim /

කෙසේ වෙතත්, පහත දැක්වෙන කොටස් වල විස්තර කර ඇති පරිදි, උපලේඛනගත හෝ ස්වයංක්‍රීය TRIM සක්‍රීය කර ඇති විට එය අවශ්‍ය නොවේ.

සටහන: සඳහා උබුන්ටු 11,04 හා ඉන් පෙර පද්ධති, fstrim නොපවතී ඔබ භාවිතා කිරීමට ඇති නිසා ය wiper.shසමඟ සපයා hdparmදී/usr/share/doc/hdparm/contrib/wiper.sh.gz

උපලේඛනගත TRIM (නිර්දේශිත)

මෙය දැනට නිර්දේශිත ක්‍රමය වන අතර උබුන්ටු 14.04 සඳහා පෙරනිමියෙන් සක්‍රිය කිරීමට සැලසුම් කර ඇත . උබුන්ටු (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 එකක් හෝ වැඩි ගණනක් මත සවි කළ හැකි ස්ථාන SSD_MOUNT_POINTSතිබේ නම්, කේතයේ විස්තර කර ඇති පරිදි ඒවා එක් කරන්න .

ස්ක්‍රිප්ට් ක්‍රියාත්මක කළ හැකි කරන්න:

sudo chmod +x /etc/cron.weekly/fstrim

අවසානයේ එය පරීක්ෂා කරන්න:

sudo /etc/cron.weekly/fstrim

ඔබ කිසිදු දෝෂයක් නොදක්වන්නේ නම්, ඔබේ ක්‍රෝන් කාර්යය හොඳින් ක්‍රියාත්මක විය යුතුය.

ස්වයංක්‍රීය TRIM (අතහැර දැමූ, මන්දගාමී)

EXT4 ගොනු පද්ධතිය සමඟ උබුන්ටු 10.10 (කර්නලය 2.6.33) සිට ස්වයංක්‍රීය TRIM සඳහා සහය ලබා දී ඇත. කෙසේ වෙතත්, TRIM විධාන තථ්‍ය කාලීනව SSD වෙත යැවීම - සෑම මකාදැමීමකට පසු - සමහර ධාවකවල මකාදැමීම වෙනදාට වඩා මන්දගාමී වන බව හඳුනාගෙන ඇත. එබැවින් ක්‍රොන් රැකියාවක් හරහා (ඉහත විස්තර කර ඇති) සතිපතා උපලේඛනගත 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](ආරම්භක_එල්බීඒ) සහ sdX(එස්එස්ඩී උපාංගයේ නම) ඉහත විස්තර සමඟ ආදේශ කරන්න .

sudo hdparm --read-sector [ADDRESS] /dev/sdX 

ප්‍රතිදානය එම අංශ සඳහා දිගු අක්ෂර මාලාවක් විය යුතුය

sudo rm tempfile
sync

hdparmඉහළ සිට විධානය නැවත කරන්න :

sudo hdparm --read-sector [ADDRESS] /dev/sdX 

ඔබට ශුන්‍ය පමණක් ලැබෙන්නේ නම් ස්වයංක්‍රීය TRIM ක්‍රියා කරයි. කෙසේ වෙතත් ගොනුව ඉවත් කිරීමෙන් පසු අංශ තවමත් හිස් නොවේ නම් ටික වේලාවක් රැඳී සිට නැවත විධානය ක්‍රියාත්මක කරන්න.


5
TRIM පරීක්‍ෂා කිරීම ඇත්ත වශයෙන්ම එසේ ක්‍රියා නොකරනු ඇත
chrishiestand

1
කරුණාකර යමෙක් මට උදව් කරන්න. එය මට වැඩ කරන බවක් නොපෙනේ. මගේ SSD ලෙස කොටස් 4 මම / /boot /usrසහ /optමම මගේ තවත් hdd භාවිතා කර ඇත /home. මම ගොස් cd / #sdcඋපදෙස් සමඟ ඉදිරියට ගියත් මට කිසි විටෙකත් ශුන්‍ය නොලැබේ. කලින්ම ස්තූතියි!
BugShotGG

1
@lightrush: විශිෂ්ට සංස්කරණය! පිළිතුර යාවත්කාලීනව තබා ගැනීම ගැන ස්තූතියි.
උලි

1
අවම වශයෙන් මගේ පද්ධතියේ තාවකාලික ගොනුව එකවරම නිර්මාණය වී නොමැති බැවින් ඔබට විධානයෙන් syncපසුව එක් කිරීමට අවශ්‍ය විය හැකිය dd, එබැවින් hdparm කිසිවක් වාර්තා නොකරයි.
ඇන්ඩ්‍රියාස් ජේ.

2
systemd දැන් මෙය හසුරුවයි. sudo systemctl status fstrim.timer
බැලූන්

28

ඔබ ගුප්තකේතනය භාවිතා කරන්නේ නම් මෙතෙක් මෙහි පළ කර ඇති විසඳුම් ඔබට උදව් නොකරන බව මතක තබා ගන්න, මන්ද ඔබට සංකේතාංකන ස්ථරයේ TRIM සහාය සක්‍රීය කළ යුතු බැවිනි. මෙය කර්නල් අනුවාද 3.1+ සහ ගුප්ත සැකසුම් 1.4+ සමඟ කළ හැකි අතර ඒ දෙකම උබුන්ටු 12.04 හි ඇතුළත් වේ.

LUKS සංකේතාත්මක කොටස් සඳහා TRIM සැකසීම පිළිබඳ මගේ මාර්ගෝපදේශය මෙතැනින් සොයා ගන්න


උබුන්ටු සහ ඩේබියන් හි LUKS සංකේතාත්මක කොටස් මත TRIM ක්‍රියාත්මක කරන්නේ කෙසේද?


පියවරෙන් පියවර මෙම පියවර මඟින් ගුප්තකේතනය 1.4 හෝ ඊට වැඩි සහ කර්නල් 3.1 හෝ ඊට වැඩි ඔබේ සංකේතාත්මක SSD කොටස් සඳහා TRIM තාක්‍ෂණයෙන් ප්‍රයෝජන ගැනීමට ඔබට ඉඩ සලසයි. මෙය කරදරයකින් තොර SSD අත්දැකීමකට මග පාදයි

"කසළ එකතු කිරීම ඉහළින් හැසිරවීමට එස්එස්ඩීයට TRIM සක්‍රීය කරයි. එමඟින් අනාගතයේ දී සම්බන්ධිත කොටස් වෙත ලිවීමේ කටයුතු සැලකිය යුතු ලෙස මන්දගාමී වනු ඇත."

උදාහරණ සැකසුම

තනි ධාවකයක් ලෙස එස්එස්ඩී සමඟ නෝට්බුක්, ලිනක්ස් තනි දිග 4 එල්වීඑම් මූල කොටසේ එල්වීඑම් හුවමාරු කොටස සමඟ ස්ථාපනය කර ඇත.

SSD: / dev / sda

sudo fdisk -l /dev/sda
/dev/sda1               # boot partition (83) (unencrypted, ext4)
/dev/sda2               # extended partition
/dev/sda5               # logical partition (83) with LUKS encryption

ls /dev/mapper
/dev/mapper/sda5_crypt         # encrypted LUKS device in physical /dev/sda5 partition
/dev/mapper/volumegroup-root   # rootpartition sda5_crypt
/dev/mapper/volumegroup-swap   # swap partition sda5_crypt

කොහොමද

  1. ඔබගේ සියලු දත්තවල උපස්ථයක් සාදන්න. ඔබ ඔබේ ගොනු පද්ධතිය සමඟ පටලවා ඇති බැවින් උපස්ථයක් තිබීම හොඳ අදහසකි.
  2. ඔබට අවශ්‍ය කර්නල් සහ ගුප්ත සැකසුම් අනුවාද ඇති බවට වග බලා ගන්න (3.1 සහ 1.4, උදා: උබුන්ටු 12.04 හි, පරෙස්සම් වන්න, කෙසේ වෙතත් 12.04 ලිවීමේදී තවමත් බීටා වේ).
  3. ඔබගේ / etc / fstab ගොනුවේ සංකේතාත්මක LVM පරිමාවේ (ගොනු) ගොනු පද්ධති විකල්ප වලට ඉවතලන පරාමිතිය එක් කරන්න. මෙමඟින් ඔබේ TRV භාවිතා කිරීමට අවශ්‍ය බව ඔබේ LVM කොටසේ ගොනු පද්ධතිය දැනුවත් කරයි.

    /dev/mapper/volumegroup-root    /   ext4 discard,noatime,nodiratime,errors=remount-ro    0    1
    
  4. අවසාන පියවර ප්‍රමාණවත් නොවේ. ඔබට TRIM භාවිතා කිරීමට අවශ්‍ය බව LUKS නොදන්නා තාක් කල්, ආරක්ෂක හේතූන් මත, LVM කොටසේ ගොනු පද්ධතියෙන් එන සියලුම TRIM මෙහෙයුම් effectively ලදායී ලෙස අවහිර කරනු ඇත. LVM කොටසේ ඉවතලන හැසිරීම LUKS පිළිගැනීමට / etc / crypttab හි cryptdevice විකල්ප වලට ඉවතලන පරාමිතිය එක් කරන්න.

    sda5_crypt UUID=e364d03f-[...]6cd7e none luks,discard
    
  5. ඔබේ initramfs නැවත ගොඩනඟන්න. Crypttab විකල්ප එහි ගබඩා කර ඇති අතර එය ආරම්භයේදී භාවිතා කරයි.

    sudo update-initramfs -c -k all
    
  6. නැවත ආරම්භ කරන්න.

  7. TRIM දැන් සක්‍රිය දැයි පරීක්ෂා කරන්න.

    sudo dmsetup table /dev/mapper/sda5_crypt --showkeys
    
  8. අන්තිම විධානය මෙවැනි ප්‍රති result ලයක් පෙන්වන්නේ නම් (අවසානයේ 1 allow_discards) ඔබ සියල්ල සූදානම්.

    0  77656056  crypt  aes-cbc-essiv:sha256  abc[...]c7a0c  0  8:5  2056  1  allow_discards
    

ප්‍රති ult ලය

TRIM සක්‍රීයයි. ඔබේ කරදරයකින් තොර SSD භුක්ති විඳින්න!


Ar මාකෝ සෙපී සංස්කරණය සඳහා කිසියම් නිශ්චිත හේතුවක්, මම නොසලකා හැර ඇති දෙයක්?
nem75

යන්තම් ඇති අති පිරිසිදු කරන වැඩවලට සහ "අත්සන" රේඛාව ඉවත් (එය ඔබ අදහස් හා අඩවියේ ඡන්දය හරහා ප්රතිචාර කරන්නම් බව උපකල්පනය කරනවා.
මාර්කෝ Ceppi

7
වෙබ් අඩවිය / පිටුව නොමැති විට මාර්ගෝපදේශය මෙහි ඇතුළත් කළ යුතුය.
කැස්

මෙය effectively ලදායී ලෙස සම්බන්ධක-පමණක් පිළිතුරක් වන අතර, එය කිසිසේත් ක්‍රියාත්මක නොවේ. ඔබගෙන් බොහෝ දෙනෙක් 12.04 දී TRIM ප්‍රචාරය කළ නොහැකි LUKS සමඟ LVM භාවිතා කරනු ඇත. වැඩි විස්තර සඳහා මෙම පිළිතුර බලන්න .
gertvdijk

1
මෙම උපදෙස් පිළිපැදීමෙන් පසුව, 14.04 හි තැටිය කැපීම සඳහා ක්‍රෝන් ජොබ් එකක් සැකසිය යුතුද?
ajn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.