अगर मुझे vm.swappiness 0 पर सेट किया जाता है, तो भी मुझे स्वैपिंग क्यों आती है?


3

मेरे पास CentOS 6.5 x64 सर्वरों की एक जोड़ी है जिसमें 64 GB RAM बहुत सारे KVM VPS की है

इनमें से कुछ सर्वरों का कोई स्वैप उपयोग नहीं है और कुछ करते हैं। मैंने स्वप्नदोष को शून्य पर सेट किया है। हालांकि, कुछ अभी भी स्वैप करते हैं, भले ही उनके पास रैम में बहुत सारे मुफ्त जीबी हों।

दोषपूर्ण * कार्यक्रम qemu-kvm है - VPS केवीएम वर्चुअल मशीन हैं।

यह topअदला-बदली के आदेश से आउटपुट है (Op दर्ज करें):

top - 10:47:31 up 14 days,  1:25,  1 user,  load average: 0.05, 0.10, 0.13
Tasks: 325 total,   1 running, 324 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.4%sy,  0.0%ni, 99.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  65940252k total, 41202572k used, 24737680k free,  9129148k buffers
Swap:  5240808k total,  1039544k used,  4201264k free, 10935732k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  SWAP COMMAND
11653 qemu      20   0 1437m 725m 4968 S  0.0  1.1  24:23.56  51m qemu-kvm
 4873 qemu      20   0 1451m 743m 4968 S  0.0  1.2  22:32.94  50m qemu-kvm
14265 qemu      20   0 1443m 742m 4968 S  0.0  1.2  27:21.25  47m qemu-kvm
 5928 qemu      20   0 1445m 751m 4968 S  0.0  1.2  24:56.82  45m qemu-kvm
11294 qemu      20   0 1436m 718m 5004 S  0.0  1.1  23:35.45  45m qemu-kvm
10016 qemu      20   0 1438m 741m 4968 S  0.0  1.2  24:58.07  45m qemu-kvm
 8028 qemu      20   0 1445m 725m 4968 S  0.0  1.1  22:49.86  44m qemu-kvm
13449 qemu      20   0 1439m 738m 5008 S  0.3  1.1  25:49.07  43m qemu-kvm
 9065 qemu      20   0 1439m 738m 4968 S  0.0  1.1  22:35.70  41m qemu-kvm
 5173 qemu      20   0 1443m 748m 4968 S  0.3  1.2  24:57.27  41m qemu-kvm
 6833 qemu      20   0 1445m 735m 4968 S  0.3  1.1  24:43.94  40m qemu-kvm
12901 qemu      20   0 1447m 754m 4968 S  0.7  1.2  26:46.74  39m qemu-kvm
12508 qemu      20   0 1435m 737m 4968 S  0.0  1.1  24:07.60  37m qemu-kvm
 8197 qemu      20   0 1449m 752m 4968 S  0.0  1.2  23:15.54  37m qemu-kvm
 7394 qemu      20   0 1444m 745m 5008 S  0.3  1.2  22:20.29  36m qemu-kvm
 7783 qemu      20   0 1435m 739m 4996 S  0.0  1.1  24:02.63  36m qemu-kvm
14733 qemu      20   0 1448m 753m 5000 S  0.3  1.2  28:58.61  35m qemu-kvm
14323 qemu      20   0 1448m 750m 4968 S  0.0  1.2  26:02.34  35m qemu-kvm
 9381 qemu      20   0 1426m 728m 4968 S  0.0  1.1  23:27.13  35m qemu-kvm
 5472 qemu      20   0 1443m 743m 4968 S  0.3  1.2  22:14.22  35m qemu-kvm
13293 qemu      20   0 1428m 727m 4968 S  0.0  1.1  24:51.03  34m qemu-kvm
11697 qemu      20   0 1449m 756m 4968 S  0.0  1.2  24:46.59  33m qemu-kvm
 4566 qemu      20   0 1432m 747m 5008 S  0.0  1.2  23:28.19  30m qemu-kvm
 9752 qemu      20   0 1439m 743m 4968 S  0.3  1.2  22:56.10  30m qemu-kvm
 6533 qemu      20   0 1438m 747m 4968 S  0.0  1.2  22:38.61  30m qemu-kvm
 6234 qemu      20   0 1418m 724m 4968 S  0.3  1.1  23:14.90  28m qemu-kvm
    1 root      20   0 19232 1524 1232 S  0.0  0.0   0:02.86    0 init

अब जैसा कि आप देख सकते हैं qemu-kvm स्वैपिंग कर रहा है। बक्से नवीनतम ओएस अद्यतन चलाते हैं। यह भी देखें कि वहाँ बहुत सारी मुफ्त रैम उपलब्ध है।

मैं पूरी तरह से स्वैपिंग को कैसे रोक सकता हूं? यह मुझे बहुत परेशान करता है और यह अधिक चौंकाने वाला है कि मेरे पास इस तरह के अधिक सर्वर हैं और कुछ कभी स्वैप नहीं करते हैं। कभी।

जवाबों:


5

vm.swappiness = 0पूरी तरह से स्वैपिंग को नहीं रोकता है। स्वैप को पूरी तरह से बंद करने के लिए, आप swapoff -aरूट विशेषाधिकार के साथ कमांड जारी कर सकते हैं । हालांकि, स्वैप को पूरी तरह से अक्षम करना आम तौर पर असुरक्षित है - जब एक मेमोरी-भुखमरी चरम स्थिति हिट होती है, तो सिस्टम संभवतः दुर्घटनाग्रस्त हो जाएगा। इसके अलावा, swapoffकार्रवाई स्वयं स्वैप (धीमी) से रैम तक कॉपी हो जाती है, इसलिए यह वास्तविक स्वैपिंग के रूप में अच्छी तरह से हिट प्रदर्शन हो सकता है।

स्पष्ट "मुक्त" मेमोरी के बावजूद, कर्नेल लंबे समय तक निष्क्रिय और स्मृति-प्रक्रिया प्रक्रियाओं को स्वैप करता है। यह caches के लिए RAM को मुक्त करता है, इस प्रकार जवाबदेही को बेहतर बनाता है। जब तक आपके पास प्रदर्शन में गिरावट का वास्तविक प्रमाण नहीं है, मैं आपको सुझाव देता हूं कि आप चिंता करना बंद कर दें और कर्नेल को प्यार करें;)


हां, ठीक है, इस तथ्य पर विचार करते हुए कि कुछ बॉक्स 1 जीबी स्वैप के साथ पहले से इंस्टॉल किए गए थे, जब यह स्वैप vps के ढक्कन को भर देता है तो वे मारे जाते हैं। ये हसने वाली बात नहीं है। इसलिए मैंने एक फ़ाइल के रूप में अतिरिक्त स्वैप बनाया और मौजूदा स्वैप में जोड़ा। अभी भी एक perma नहीं स्वैप चाहते हैं क्योंकि इसमें 20GB RAM बफर मुफ्त है। आपके समाधान पर विचार किया गया है, लेकिन मुझे नहीं पता कि कैसे -safe- यह उत्पादन में स्वैपऑफ़ करना है। कुछ चीजें जिन्हें मैंने कभी नहीं सोचा था कि दुर्घटना हो सकती है। या खराब।
होरतिउ

2
जैसा कि यहाँ बताया गया है ( percona.com/blog/2014/04/28/… ), आधुनिक गुठली में, vm.swappiness = 0 का एक नया अर्थ है; यह (प्रभाव में) की अदला-बदली से बंद हो जाएगा
ΣοδεMεδις
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.