संक्षिप्त जवाब
चुनें ext4 , और या तो साथ यह माउंट discard
के लिए विकल्प TRIM समर्थन, या FITRIM का उपयोग (नीचे देखें)। noatime
"एसएसडी पहनने" से डरने पर भी विकल्प का उपयोग करें ।
मल्टी-एप्लिकेशन सर्वर पर अपने डिफ़ॉल्ट I / O अनुसूचक (CFQ) को न बदलें , क्योंकि यह प्रक्रियाओं के बीच निष्पक्षता प्रदान करता है और इसमें स्वचालित SSD का समर्थन है। हालांकि, लोड के तहत बेहतर जवाबदेही पाने के लिए डेस्कटॉप पर डेडलाइन का उपयोग करें ।
उचित डेटा संरेखण की आसानी से गारंटी देने के लिए, प्रत्येक विभाजन का शुरुआती क्षेत्र 2048 (= 1 MiB) का एक होना चाहिए । आप fdisk -cu /dev/sdX
उन्हें बनाने के लिए उपयोग कर सकते हैं। हाल के वितरणों पर, यह स्वचालित रूप से आपके लिए इसका ख्याल रखेगा।
SSD पर स्वैप का उपयोग करने से पहले दो बार सोचें। यह शायद एचडीडी पर स्वैप की तुलना में बहुत तेज होगा, लेकिन यह डिस्क को तेजी से भी पहनेगा (जो प्रासंगिक नहीं हो सकता है, नीचे देखें)।
लंबा जवाब
Ext4 सबसे आम लिनक्स फाइल सिस्टम है (अच्छी तरह से बनाए रखा गया है)। यह एसएसडी के साथ अच्छा प्रदर्शन प्रदान करता है और समय के साथ अच्छा एसएसडी प्रदर्शन रखने के लिए TRIM (और FITRIM) सुविधा का समर्थन करता है (यह त्वरित बाद में लिखने की पहुंच के लिए अप्रयुक्त मेमोरी ब्लॉकों को साफ करता है)। NILFS को विशेष रूप से फ्लैश मेमोरी ड्राइव के लिए डिज़ाइन किया गया है, लेकिन वास्तव में बेंचमार्क पर ext4 से बेहतर प्रदर्शन नहीं करता है । Btrfs अभी भी प्रायोगिक माना जाता है (और वास्तव में बेहतर प्रदर्शन नहीं करता है या तो )।
TRIM सुविधा एसएसडी ब्लॉक कि फाइल सिस्टम द्वारा अब और उपयोग नहीं किया जाता साफ करता है। यह लंबे समय तक लिखने के प्रदर्शन को अनुकूलित करेगा और उनके डिजाइन के कारण एसएसडी पर अनुशंसित है। इसका मतलब है कि फाइल सिस्टम को उन ब्लॉकों के बारे में बताने में सक्षम होना चाहिए। Ext4 का discard
माउंट विकल्प इस तरह के TRIM आदेश जारी करेगा जब फाइल सिस्टम ब्लॉक से मुक्त हो जाए। यह ऑनलाइन हार है ।
हालाँकि, इस व्यवहार का अर्थ है कि ओवरहेड थोड़ा प्रदर्शन। लिनक्स 2.6.37 के बाद से, आप उपयोग करने से बच सकते हैं discard
और इसके बजाय FITRIM के साथ कभी-कभी बैच त्यागने का विकल्प चुन सकते हैं (उदाहरण के लिए क्रॉस्टब से)। fstrim
उपयोगिता करता है यह (ऑनलाइन), साथ ही साथ -E discard
करने का विकल्प fsck.ext4
। आपको इन उपकरणों के "हाल के" संस्करण की आवश्यकता होगी।
आप अपने ड्राइव पर लिखना सीमित करना चाहते हैं क्योंकि इस संबंध में SSD का जीवनकाल सीमित हो सकता है। हालांकि बहुत चिंता न करें , आज का सबसे खराब 128 जीबी एसएसडी प्रति दिन कम से कम 20 जीबी लिखित डेटा को 5 साल से अधिक (1000 प्रति चक्र लिख सकता है) का समर्थन कर सकता है। बेहतर वाले (और बड़े भी) लंबे समय तक रह सकते हैं: आपने शायद इसे तब तक बदल दिया होगा।
यदि आप SSD पर स्वैप का उपयोग करना चाहते हैं , तो कर्नेल एक गैर-घूर्णी डिस्क को नोटिस करेगा और स्वैप उपयोग (कर्नेल स्तर पहनने लेवलिंग) को यादृच्छिक करेगा : SS
स्वैप के सक्षम होने पर आप कर्नेल संदेश में एक (ठोस अवस्था) देखेंगे।
2097148k स्वैप को / dev / sda1 पर जोड़ना। प्राथमिकता: -1 विस्तार: 1 भर में: 2097148k एसएस
इसके अलावा, मैं अधिकांश उपनामों के उत्तर से सहमत हूं (भले ही इसमें से अधिकांश -गलित रूप से हो? - इस वेबसाइट से कॉपी किए गए ), लेकिन मुझे अनुसूचक भाग पर आंशिक रूप से असहमत होना चाहिए । डिफ़ॉल्ट रूप से, समय सीमा अनुसूचक को घूर्णी डिस्क के लिए अनुकूलित किया जाता है क्योंकि यह लिफ्ट एल्गोरिथ्म को लागू करता है । तो, आइए इस भाग को स्पष्ट करें।
अनुसूचियों पर लंबा जवाब
कर्नेल 2.6.29 से शुरू, SSD डिस्क स्वचालित रूप से पाई जाती है, और आप इसके साथ सत्यापित कर सकते हैं:
cat /sys/block/sda/queue/rotational
आपको 1
हार्ड डिस्क और 0
एक एसएसडी के लिए मिलना चाहिए ।
अब, CFQ अनुसूचक इस जानकारी के आधार पर अपने व्यवहार को अनुकूलित कर सकता है। लिनक्स 3.1 के बाद से, कर्नेल डॉक्यूमेंट cfq-iosched.txt
फाइल कहती है :
सीएफक्यू में एसएसडी के लिए कुछ अनुकूलन हैं और अगर यह एक गैर-घूर्णी मीडिया का पता लगाता है जो उच्च कतार गहराई (एक समय में उड़ान में कई अनुरोध), [...] का समर्थन कर सकता है।
इसके अलावा, डेडलाइन अनुसूचक सेक्टर संख्या के आधार पर घूर्णी डिस्क पर अनियंत्रित सिर आंदोलनों को सीमित करने की कोशिश करता है। कोटिंग कर्नेल डॉक्टर deadline-iosched.txt
, fifo_batch
विकल्प विवरण :
अनुरोधों को एक विशेष डेटा दिशा (पढ़ने या लिखने) के `` बैचों '' में वर्गीकृत किया जाता है जो कि बढ़ते हुए क्षेत्रीय क्रम में सेवित होते हैं।
हालांकि, SSD का उपयोग करते समय इस पैरामीटर को 1 से ट्यूनिंग करना दिलचस्प हो सकता है:
यह पैरामीटर प्रति-अनुरोध विलंबता और कुल थ्रूपुट के बीच संतुलन को ट्यून करता है। जब कम विलंबता प्राथमिक चिंता का विषय है, तो छोटा बेहतर होता है (जहां 1 पैदावार का मूल्य पहले आओ-पहले पाओ के व्यवहार में आता है)। विलंबता भिन्नता की कीमत पर, थेनो_बैच बढ़ने से आमतौर पर थ्रूपुट में सुधार होता है।
कुछ बेंचमार्क बताते हैं कि अलग-अलग शेड्यूलर्स के बीच प्रदर्शन में बहुत कम अंतर है। फिर, निष्पक्षता की सिफारिश क्यों नहीं की गई ? जब CFQ बेंच में शायद ही कभी खराब होता है । हालांकि, डेस्कटॉप सेटअप पर, आप आमतौर पर इसकी डिजाइन के कारण डेडलाइन के तहत लोड के तहत बेहतर जवाबदेही का अनुभव करेंगे (शायद कम थ्रूपुट लागत पर हालांकि)।
उस ने कहा, एक बेहतर बेंचमार्क डेडलाइन के साथ प्रयोग करने की कोशिश करेगा fifo_batch=1
।
डिफ़ॉल्ट रूप से SSDs पर समय सीमा का उपयोग करने के लिए, आप एक फ़ाइल बना सकते हैं, /etc/udev.d/99-ssd.rules
इस प्रकार कहें :
# all non-rotational block devices use 'deadline' scheduler
# mostly useful for SSDs on desktops systems
SUBSYSTEM=="block", ATTR{queue/rotational}=="0", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/scheduler}="deadline"
gdisk
& का उपयोग करते हुएgrub 2.0.x
, (मुझे लगता है कि किसी ने उत्तर में इसका उल्लेख किया है) और MBR पुराने का उपयोग करते हुए विरासत विधि हैgrub 0.9.7
औरfdisk
.. आप यहाँ और अधिक जानकारी प्राप्त कर सकते हैं: wiki.archlinux.org/index.php/Solid_ate_Drives