जब मैं डिफ़ॉल्ट सेटिंग्स का उपयोग करता हूं:
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
मैं इन मानों को /proc/meminfo
फ़ाइल से पढ़ सकता हूं :
CommitLimit: 2609604 kB
Committed_AS: 1579976 kB
लेकिन जब मैं बदलने vm.overcommit_memory
से 0
करने के लिए 2
, मैं अनुप्रयोगों है कि मैं बदलने से पहले शुरू कर सकता है के एक ही सेट शुरू करने में असमर्थ हूँ, विशेष रूप से Amarok। मैं बदलना पड़ा vm.overcommit_ratio
करने के लिए 300
है, तो सीमा को बढ़ाया जा सकता है। अब जब मैं अमारोक शुरू करता हूं, /proc/meminfo
तो निम्न दिखाता है:
CommitLimit: 5171884 kB
Committed_AS: 3929668 kB
इस मशीन में केवल 1GiB RAM है, लेकिन vm.overcommit_memory
0. के सेट होने 2
पर amarok समस्याओं के बिना काम करता है। लेकिन इसे सेट करने के मामले में , amarok को 2GiB से अधिक मेमोरी आवंटित करने की आवश्यकता होती है। क्या यह एक सामान्य व्यवहार है? यदि हां, तो क्या कोई यह बता सकता है कि, उदाहरण के लिए, फ़ायरफ़ॉक्स (जो एमारॉक की तुलना में 4-6 गुना अधिक मेमोरी का उपभोग करता है) परिवर्तन से पहले और बाद में उसी तरह से काम करता है?
Committed_AS
दोनों मामलों में समान नहीं होना चाहिए ?