मेरे पास एक 8GB RAM का लिनक्स बॉक्स है जिस पर 4 tomcat सर्वर चल रहे हैं। उनमें से एक 3000MB मेमोरी (jvm -Xms और -Xmx सेटिंग) पर सेट है और अन्य 1500MB पर सेट हैं। स्वैप विभाजन भी 8Gigs पर सेट है। जब मैं इन सर्वरों को शुरू करता हूं, तो स्वैप फाइल का उपयोग कम होता है। लेकिन कुछ दिनों के दौरान और निश्चित समय के दौरान जब एक / सभी सर्वर चरम गतिविधि में होते हैं, स्वैप का उपयोग बढ़ने लगता है। यहाँ एक सामान्य सर-आर आउटपुट है।
kbmemfree kbmemused% का दुरुपयोग किया गया kbbuffers kbcached kbswpfree kbswpused % swpused kbswpcad
48260 8125832 99.41 196440 2761852 7197688 1190912 14.20 31,0006044
75504 8098588 99.08 198032 2399460 7197688 1190912 14.20 316032
यह वर्तमान में इस्तेमाल 14.2% स्वैप दिखाता है। मजेदार बात यह है कि यह कभी घटता नहीं है । यह 30-40% तक बढ़ता और पहुंचता रहता है । हम साप्ताहिक रूप से अपने सर्वर को पुनः आरंभ करते हैं।
मुझे लगता है कि पीक गतिविधि की अवधि के दौरान वृद्धि और कम गतिविधि की अवधि के दौरान घटने वाले % की वृद्धि होगी। या कम से कम स्थिर रहें। ऐसा लगता है कि स्वैप स्थान ओएस द्वारा कभी भी पुनः प्राप्त नहीं होता है।
मुफ्त का आउटपुट: फ्री-एम टोटल यूज्ड फ्री शेयर्ड बफ़र्स कैशेड मेम: 7982 7937 45 0 32 2088 - / + बफ़र्स / कैश: 5816 2166 स्वैप: 8191 1163 7028
तो वहाँ कम से कम 2g मुक्त राम है। तो सवाल यह है कि स्वैप स्पेस को OS द्वारा क्यों बढ़ाया और वापस प्राप्त नहीं किया जा रहा है? या कैसे यह पता लगाने के लिए डिबग करने के लिए whats hapenning ..